strava_wrapper/models/
club.rs1use 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}