Skip to main content

strava_wrapper/models/
club.rs

1//! Club resource types.
2
3use super::activity::{ActivityType, SportType};
4use super::athlete::MetaAthlete;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct ClubActivity {
9    pub athlete: Option<MetaAthlete>,
10    pub name: Option<String>,
11    pub distance: Option<f32>,
12    pub moving_time: Option<i32>,
13    pub elapsed_time: Option<i32>,
14    pub total_elevation_gain: Option<f32>,
15    #[deprecated(note = "Use `sport_type` instead")]
16    #[serde(default)]
17    pub r#type: Option<ActivityType>,
18    pub sport_type: Option<SportType>,
19    pub workout_type: Option<i32>,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct ClubAthlete {
24    pub resource_state: Option<i32>,
25    pub firstname: Option<String>,
26    pub lastname: Option<String>,
27    pub member: Option<String>,
28    pub admin: Option<bool>,
29    pub owner: Option<bool>,
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
33pub struct MetaClub {
34    pub id: Option<i64>,
35    pub resource_state: Option<i32>,
36    pub name: Option<String>,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
40pub struct SummaryClub {
41    pub id: Option<i64>,
42    pub resource_state: Option<i32>,
43    pub name: Option<String>,
44    pub profile_medium: Option<String>,
45    pub cover_photo: Option<String>,
46    pub cover_photo_small: Option<String>,
47    #[deprecated(note = "Use activity_types instead")]
48    pub sport_type: Option<String>,
49    pub activity_types: Option<Vec<ActivityType>>,
50    pub city: Option<String>,
51    pub state: Option<String>,
52    pub country: Option<String>,
53    pub private: Option<bool>,
54    pub member_count: Option<i32>,
55    pub featured: Option<bool>,
56    pub verified: Option<bool>,
57    pub url: Option<String>,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
61pub struct DetailedClub {
62    pub id: Option<i64>,
63    pub resource_state: Option<i32>,
64    pub name: Option<String>,
65    pub profile_medium: Option<String>,
66    pub cover_photo: Option<String>,
67    pub cover_photo_small: Option<String>,
68    #[deprecated(note = "Use activity_types instead")]
69    pub sport_type: Option<String>,
70    pub activity_types: Option<Vec<ActivityType>>,
71    pub city: Option<String>,
72    pub state: Option<String>,
73    pub country: Option<String>,
74    pub private: Option<bool>,
75    pub member_count: Option<i32>,
76    pub featured: Option<bool>,
77    pub verified: Option<bool>,
78    pub url: Option<String>,
79    pub membership: Option<String>,
80    pub admin: Option<bool>,
81    pub owner: Option<bool>,
82    pub following_count: Option<i32>,
83}