use std::collections::HashMap; use chrono::{DateTime, Utc}; use serde::{Serialize, Deserialize}; use uuid::Uuid; #[derive(Serialize, Deserialize, Debug, Clone, Copy)] pub enum ServiceStatus { Ok, Degraded, Unhealthy, } #[derive(Serialize, Deserialize, Debug, Clone)] pub struct HealthStatus { pub module_id: String, pub status: ServiceStatus, pub version: String, pub details: HashMap, } #[derive(Serialize, Deserialize, Debug, Clone)] pub struct TaskProgress { pub request_id: Uuid, pub task_name: String, pub status: String, pub progress_percent: u8, pub details: String, pub started_at: DateTime, }