27 lines
497 B
Python
27 lines
497 B
Python
|
|
from typing import Any
|
||
|
|
|
||
|
|
from pydantic import BaseModel, ConfigDict
|
||
|
|
|
||
|
|
|
||
|
|
class LiveSummary(BaseModel):
|
||
|
|
model_config = ConfigDict(extra="allow")
|
||
|
|
|
||
|
|
total_active: int
|
||
|
|
moving: int
|
||
|
|
parked: int
|
||
|
|
offline: int
|
||
|
|
below_freshness_slo: int
|
||
|
|
as_of: str
|
||
|
|
|
||
|
|
|
||
|
|
class SloStatusEntry(BaseModel):
|
||
|
|
threshold: float
|
||
|
|
current: float | None = None
|
||
|
|
status: str
|
||
|
|
|
||
|
|
|
||
|
|
class LiveViewResponse(BaseModel):
|
||
|
|
summary: LiveSummary
|
||
|
|
geojson: dict[str, Any]
|
||
|
|
slo_status: dict[str, SloStatusEntry]
|