from __future__ import annotations from app.models.common import ( APIModel, DockerContainerState, HealthStatus, OverallStatus, ServiceKind, ServiceSource, SourceStatus, TimestampedResponse, ) class ServicesDockerSummary(APIModel): running: int stopped: int unhealthy: int total: int source_status: SourceStatus class ServicesUptimeKumaSummary(APIModel): monitors_up: int monitors_down: int monitors_paused: int total: int source_status: SourceStatus class ServicesSummary(APIModel): overall_status: OverallStatus docker: ServicesDockerSummary uptime_kuma: ServicesUptimeKumaSummary class ServiceItem(APIModel): id: str name: str kind: ServiceKind status: OverallStatus health: HealthStatus latency_ms: int | None = None docker_state: DockerContainerState url: str | None = None source: ServiceSource last_checked: str | None = None class ServicesResponse(TimestampedResponse): summary: ServicesSummary services: list[ServiceItem]