librelink_client/
connection.rs1use 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}