proxctl_bindings/resources/
node.rs

1// resources/node.rs
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Serialize, Deserialize)]
5pub struct Node {
6    pub node: String,
7    pub status: String,
8    pub cpu: Option<f32>,
9    pub level: Option<String>,
10    pub maxcpu: Option<u64>,
11    pub mem: Option<u64>,
12    pub ssl_fingerprint: Option<String>,
13    pub uptime: Option<u64>,
14}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub struct NodeResponse {
18    pub data: Vec<Node>, // List of nodes
19}
20
21#[derive(Debug, Serialize, Deserialize)]
22pub struct NodeStatus {
23    pub cpu: f64,               // CPU usage percentage
24    pub memory: u64,            // Total memory
25    pub rootfs: Option<RootFs>, // Root filesystem usage
26}
27
28#[derive(Debug, Serialize, Deserialize)]
29pub struct RootFs {
30    pub total: u64, // Total disk space
31    pub used: u64,  // Used disk space
32}