Skip to main content

strava_wrapper/filters/
activity_zones.rs

1use crate::models::ActivityZone;
2use crate::query::{
3    get_with_query_and_path, Endpoint, ErrorWrapper, PathQuery, Query, Sendable, ID,
4};
5use async_trait::async_trait;
6use std::collections::HashMap;
7use strava_wrapper_macros::{Endpoint, PathQuery, Query, ID};
8
9#[derive(Debug, Clone, Endpoint, Query, PathQuery, ID)]
10#[must_use = "this request is not executed until you call .send().await"]
11pub struct ListActivityZones {
12    url: String,
13    token: String,
14    path: String,
15    query: Vec<(String, String)>,
16    path_params: Vec<(String, String)>,
17}
18
19#[async_trait]
20impl Sendable<Vec<ActivityZone>> for ListActivityZones {
21    async fn send(self) -> Result<Vec<ActivityZone>, ErrorWrapper> {
22        let token = self.token.clone();
23        get_with_query_and_path(self, &token).await
24    }
25}