Skip to main content

strava_wrapper/filters/
comments.rs

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