ddapi_rs/scheme/ddnet/
status.rs1use crate::scheme::DDNET_BASE_URL;
2use serde_derive::{Deserialize, Serialize};
3
4#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct StatusData {
6 pub name: String,
7 pub r#type: String,
8 pub host: String,
9 pub location: String,
10 pub online4: bool,
11 pub online6: bool,
12 pub uptime: String,
13 pub load: f32,
14 pub network_rx: u64,
15 pub network_tx: u64,
16 pub packets_rx: u64,
17 pub packets_tx: u64,
18 pub cpu: u32,
19 pub memory_total: u64,
20 pub memory_used: u64,
21 pub swap_total: u64,
22 pub swap_used: u64,
23 pub hdd_total: u64,
24 pub hdd_used: u64,
25}
26
27#[derive(Serialize, Deserialize, Debug)]
28pub struct Status {
29 pub servers: Vec<StatusData>,
30 pub updated: String,
31}
32
33impl Status {
34 pub fn url() -> String {
35 format!("https://{}/status", DDNET_BASE_URL)
36 }
37
38 pub fn api() -> String {
39 format!("https://{}/status/json/stats.json", DDNET_BASE_URL)
40 }
41}