dapnet_api/types/
transmitters.rs1use super::Connection;
2use chrono::{DateTime, Utc};
3use serde::Deserialize;
4
5#[derive(Debug, Deserialize)]
6pub enum Usage {
7 #[serde(rename = "PERSONAL")]
8 Personal,
9 #[serde(rename = "WIDERANGE")]
10 Widerange,
11}
12
13#[derive(Debug, Deserialize)]
14pub enum AntennaType {
15 #[serde(rename = "OMNI")]
16 Omnidirectional,
17 #[serde(rename = "DIRECTIONAL")]
18 Directional,
19}
20
21#[derive(Debug, Deserialize)]
22pub enum Status {
23 #[serde(rename = "OFFLINE")]
24 Offline,
25 #[serde(rename = "ONLINE")]
26 Online,
27 #[serde(rename = "ERROR")]
28 Error,
29}
30
31#[derive(Debug, Deserialize)]
32pub struct Transmitter {
33 pub name: String,
34 pub usage: Usage,
35
36 pub longitude: String,
37 pub latitude: String,
38
39 #[serde(rename = "timeSlot")]
41 pub timeslots: String,
42
43 #[serde(rename = "ownerNames")]
44 pub owners: Vec<String>,
45
46 pub status: Status,
47
48 #[serde(rename = "callCount")]
49 pub call_count: u64,
50
51 #[serde(rename = "address")]
52 pub connection: Option<Connection>,
53
54 #[serde(rename = "nodeName")]
56 pub node: Option<String>,
57
58 #[serde(rename = "authKey")]
61 pub auth_key: Option<String>,
62
63 #[serde(rename = "deviceType")]
64 pub device_type: Option<String>,
65 #[serde(rename = "deviceVersion")]
66 pub device_version: Option<String>,
67
68 pub power: String,
70
71 #[serde(rename = "antennaAboveGroundLevel")]
73 pub antenna_height_above_ground: i64,
74
75 #[serde(rename = "antennaType")]
76 pub antenna_type: AntennaType,
77
78 #[serde(rename = "antennaDirection")]
80 pub antenna_direction: f64,
81
82 #[serde(rename = "antennaGainDbi")]
84 pub antenna_gain: f64,
85
86 #[serde(rename = "identificationAddress")]
87 pub identification_address: i64,
88
89 #[serde(rename = "lastUpdate")]
91 pub last_update: DateTime<Utc>,
92
93 #[serde(rename = "lastConnected")]
95 pub last_connected: Option<DateTime<Utc>>,
96
97 #[serde(rename = "connectedSince")]
99 pub connected_since: Option<DateTime<Utc>>,
100}