librelink_client/
connection.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug)]
4pub struct ResponseConnections {
5    pub status: i32,
6    pub data: Vec<Connection>,
7}
8
9#[derive(Serialize, Deserialize, Debug)]
10pub struct ConnectionGraphResponse {
11    pub status: i32,
12    pub data: ConnectionGraphData,
13    pub ticket: Ticket,
14}
15
16#[derive(Serialize, Deserialize, Debug)]
17pub struct Connection {
18    pub id: String,
19    #[serde(rename = "patientId")]
20    pub patient_id: String,
21    pub country: String,
22    pub status: i32,
23    #[serde(rename = "firstName")]
24    pub first_name: String,
25    #[serde(rename = "lastName")]
26    pub last_name: String,
27    #[serde(rename = "targetLow")]
28    pub target_low: i32,
29    #[serde(rename = "targetHigh")]
30    pub target_high: i32,
31}
32
33#[derive(Serialize, Deserialize, Debug)]
34pub struct Sensor {
35    #[serde(rename = "deviceId")]
36    pub device_id: String,
37    pub sn: String,
38    pub a: i64,
39    pub w: i32,
40    pub pt: i32,
41    pub s: bool,
42    pub lj: bool,
43}
44
45#[derive(Serialize, Deserialize, Debug)]
46pub struct Device {
47    pub did: String,
48    pub dtid: i32,
49    pub v: String,
50    pub ll: i32,
51    pub hl: i32,
52    #[serde(rename = "fixedLowAlarmValues")]
53    pub fixed_low_alarm_values: FixedLowAlarmValues,
54    pub alarms: bool,
55    #[serde(rename = "fixedLowThreshold")]
56    pub fixed_low_threshold: i32,
57}
58
59#[derive(Serialize, Deserialize, Debug)]
60pub struct FixedLowAlarmValues {
61    pub mgdl: i32,
62    pub mmoll: f32,
63}
64
65#[derive(Serialize, Deserialize, Debug)]
66pub struct Ticket {
67    pub token: String,
68    pub expires: u64,
69    pub duration: u64,
70}
71
72#[derive(Serialize, Deserialize, Debug)]
73pub struct ConnectionGraphData {
74    pub connection: Connection,
75    #[serde(rename = "activeSensors")]
76    pub active_sensors: Vec<ActiveSensor>,
77    #[serde(rename = "graphData")]
78    pub graph_data: Vec<GraphData>,
79}
80
81#[derive(Serialize, Deserialize, Debug)]
82pub struct GraphData {
83    #[serde(rename = "FactoryTimestamp")]
84    pub factory_timestamp: String,
85    #[serde(rename = "Timestamp")]
86    pub timestamp: String,
87    #[serde(rename = "type")]
88    pub _type: i32,
89    #[serde(rename = "ValueInMgPerDl")]
90    pub value_in_mg_per_dl: i32,
91    #[serde(rename = "MeasurementColor")]
92    pub measurement_color: i32,
93    #[serde(rename = "GlucoseUnits")]
94    pub glucose_units: i32,
95    #[serde(rename = "Value")]
96    pub value: i32,
97    #[serde(rename = "isHigh")]
98    pub is_high: bool,
99    #[serde(rename = "isLow")]
100    pub is_low: bool,
101}
102
103#[derive(Serialize, Deserialize, Debug)]
104pub struct ActiveSensor {
105    pub sensor: Sensor,
106    pub device: Device,
107}