Skip to main content

cloudreve_sdk_api/models/
dashboard.rs

1use serde::{Deserialize, Serialize};
2
3/// License information
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct License {
6    pub expired_at: String,
7    pub signed_at: String,
8    pub root_domains: Vec<String>,
9    pub domains: Vec<String>,
10    pub vol_domains: Vec<String>,
11}
12
13/// Metrics summary
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct MetricsSummary {
16    pub dates: Vec<String>,
17    pub files: Vec<i32>,
18    pub users: Vec<i32>,
19    pub shares: Vec<i32>,
20    pub file_total: i32,
21    pub user_total: i32,
22    pub share_total: i32,
23    pub entities_total: i32,
24    pub generated_at: String,
25}
26
27/// Version information
28#[derive(Debug, Clone, Serialize, Deserialize)]
29pub struct Version {
30    pub version: String,
31    pub pro: bool,
32    pub commit: String,
33}
34
35/// Homepage summary
36#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct HomepageSummary {
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub metrics_summary: Option<MetricsSummary>,
40    pub site_urls: Vec<String>,
41    pub license: License,
42    pub version: Version,
43}
44