misskey_api/endpoint/admin/
server_info.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Default, Debug, Clone)]
4#[serde(rename_all = "camelCase")]
5pub struct Request {}
6
7#[derive(Deserialize, Debug, Clone)]
8#[serde(rename_all = "camelCase")]
9pub struct CpuInfo {
10 pub model: String,
11 pub cores: u64,
12}
13
14#[derive(Deserialize, Debug, Clone)]
15#[serde(rename_all = "camelCase")]
16pub struct MemInfo {
17 pub total: u64,
18}
19
20#[derive(Deserialize, Debug, Clone)]
21#[serde(rename_all = "camelCase")]
22pub struct FsInfo {
23 pub total: u64,
24 pub used: u64,
25}
26
27#[derive(Deserialize, Debug, Clone)]
28#[serde(rename_all = "camelCase")]
29pub struct NetInfo {
30 pub interface: String,
31}
32
33#[derive(Deserialize, Debug, Clone)]
34#[serde(rename_all = "camelCase")]
35pub struct Response {
36 pub machine: String,
37 pub os: String,
38 pub node: String,
39 pub psql: String,
40 pub redis: String,
41 pub cpu: CpuInfo,
42 pub mem: MemInfo,
43 pub fs: FsInfo,
44 pub net: NetInfo,
45}
46
47impl misskey_core::Request for Request {
48 type Response = Response;
49 const ENDPOINT: &'static str = "admin/server-info";
50}
51
52#[cfg(test)]
53mod tests {
54 use super::Request;
55 use crate::test::{ClientExt, TestClient};
56
57 #[tokio::test]
58 async fn request() {
59 let client = TestClient::new();
60 client.admin.test(Request::default()).await;
61 }
62}