wccg_models/activity/
stats.rs1use crate::activity::Activity;
2use getset::{Getters, Setters};
3use serde::{Deserialize, Serialize};
4
5#[cfg(feature = "wasm")]
6use wasm_bindgen::prelude::wasm_bindgen;
7
8#[cfg_attr(feature = "wasm", wasm_bindgen)]
9#[derive(Debug, Serialize, Deserialize, Getters, Setters)]
10#[getset(get = "pub", set = "pub")]
11#[serde(rename_all = "camelCase")]
12pub struct Stats {
13 distance: f32,
14 count: i32,
15 total_elevation_gain: Option<f32>,
16 commute_distance: f32,
17 commute_count: i32,
18 commute_total_elevation_gain: Option<f32>,
19 longest_activity: Option<Activity>,
20 last_activity: Option<Activity>,
21}
22
23impl Stats {
24 pub fn new() -> Stats {
25 Stats {
26 distance: 0.0,
27 count: 0,
28 total_elevation_gain: Some(0.0),
29 commute_distance: 0.0,
30 commute_count: 0,
31 commute_total_elevation_gain: Some(0.0),
32 longest_activity: None,
33 last_activity: None,
34 }
35 }
36}