diff --git a/src/core/data.rs b/src/core/data.rs index 6f2a742..bf43969 100644 --- a/src/core/data.rs +++ b/src/core/data.rs @@ -30,13 +30,14 @@ pub fn unify_data(status_page: &StatusPageResponse, heartbeat: &HeartbeatRespons .unwrap_or_default(); monitors.push(UnifiedMonitorData { - monitor_info: monitor_info.clone(), + id: monitor_info.id, + name: monitor_info.name.clone(), heartbeats, uptime_data, }); } - monitors.sort_by(|a, b| a.monitor_info.name.cmp(&b.monitor_info.name)); + monitors.sort_by_key(|m| m.id); groups.push(UnifiedGroupData { group_info: group.clone(), diff --git a/src/core/models.rs b/src/core/models.rs index 797b806..d3851a4 100644 --- a/src/core/models.rs +++ b/src/core/models.rs @@ -1,9 +1,10 @@ use crate::data::heartbeat::model::{HeartbeatEntry, UptimeData}; -use crate::data::status_page::model::{MonitorInfo, StatusPageGroup}; +use crate::data::status_page::model::{StatusPageGroup}; #[derive(Debug, Clone)] pub struct UnifiedMonitorData { - pub monitor_info: MonitorInfo, + pub id: u64, + pub name: String, pub heartbeats: Vec, pub uptime_data: Option, } diff --git a/src/data/status_page/model.rs b/src/data/status_page/model.rs index 4cd22c0..5ea2f6f 100644 --- a/src/data/status_page/model.rs +++ b/src/data/status_page/model.rs @@ -29,9 +29,9 @@ pub struct StatusPageConfig { pub struct MonitorInfo { pub id: u64, pub name: String, - #[serde(rename = "sendUrl")] + #[serde(skip_deserializing)] pub send_url: u8, - #[serde(rename = "type")] + #[serde(skip_deserializing)] pub monitor_type: String, } diff --git a/src/ui/dashboard/model.rs b/src/ui/dashboard/model.rs index f48eb3d..7fcd2f1 100644 --- a/src/ui/dashboard/model.rs +++ b/src/ui/dashboard/model.rs @@ -116,7 +116,7 @@ fn add_monitor_view_state(group: UnifiedGroupData) -> Vec { .unwrap_or_else(|| t("unknown").to_string()); monitors.push(MonitorViewState { - name: monitor.monitor_info.name, + name: monitor.name, status, response_time, uptime_24h,