Sync your own workout data from your "Strong" app
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 109 lines 3.2 kB view raw
1use serde::{Deserialize, Serialize}; 2use serde_json::Value; 3 4use super::common::{Link, Name}; 5 6#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 7pub struct UserResponse { 8 #[serde(rename = "_links")] 9 pub links: Value, 10 #[serde(rename = "_embedded")] 11 pub embedded: Embedded, 12 pub id: String, 13 pub created: String, 14 #[serde(rename = "lastChanged")] 15 pub last_changed: String, 16 pub username: String, 17 pub email: String, 18 #[serde(rename = "emailVerified")] 19 pub email_verified: bool, 20 pub name: Option<String>, 21 pub avatar: Value, 22 pub preferences: Value, 23 #[serde(rename = "legacyPurchase")] 24 pub legacy_purchase: Value, 25 #[serde(rename = "legacyGoals")] 26 pub legacy_goals: Value, 27 #[serde(rename = "startHistoryFromDate")] 28 pub start_history_from_date: String, 29 #[serde(rename = "firstWeekDay")] 30 pub first_week_day: String, 31 #[serde(rename = "availableLogins")] 32 pub available_logins: Vec<Value>, 33 pub migrated: String, 34} 35 36#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 37pub struct Embedded { 38 pub measurement: Option<Vec<Value>>, 39 #[serde(rename = "measuredValue")] 40 pub measured_value: Option<Vec<Value>>, 41 pub template: Option<Vec<Value>>, 42 pub log: Option<Vec<Log>>, 43 pub tag: Option<Vec<Value>>, 44 pub folder: Option<Vec<Value>>, 45 pub widget: Option<Vec<Value>>, 46} 47 48#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 49pub struct Log { 50 #[serde(rename = "_links")] 51 pub links: Value, 52 #[serde(rename = "_embedded")] 53 pub embedded: LogEmbedded, 54 #[serde(rename = "timezoneId")] 55 pub timezone_id: Option<String>, 56 pub id: String, 57 pub created: String, 58 #[serde(rename = "lastChanged")] 59 pub last_changed: String, 60 pub name: Option<Name>, 61 pub access: String, 62 #[serde(rename = "startDate")] 63 pub start_date: Option<String>, 64 #[serde(rename = "endDate")] 65 pub end_date: Option<String>, 66 #[serde(rename = "logType")] 67 pub log_type: String, 68} 69 70#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 71pub struct LogEmbedded { 72 #[serde(rename = "cellSetGroup")] 73 pub cell_set_group: Vec<CellSetGroup>, 74} 75 76#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 77pub struct CellSetGroup { 78 #[serde(rename = "_links")] 79 pub links: CellSetGroupLinks, 80 #[serde(rename = "_embedded")] 81 pub embedded: CellSetGroupEmbedded, 82 pub id: String, 83 #[serde(rename = "cellSets")] 84 pub cell_sets: Vec<CellSet>, 85} 86 87#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 88pub struct CellSetGroupLinks { 89 pub measurement: Option<Link>, 90} 91 92#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 93pub struct CellSetGroupEmbedded {} 94 95#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 96pub struct CellSet { 97 pub id: String, 98 pub cells: Vec<Cell>, 99 #[serde(rename = "isCompleted")] 100 pub is_completed: Option<bool>, 101} 102 103#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 104pub struct Cell { 105 pub id: String, 106 #[serde(rename = "cellType")] 107 pub cell_type: String, 108 pub value: Option<String>, 109}