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