"""Typed contracts for the operational Dashboard overview.""" from datetime import datetime from pydantic import BaseModel, Field from app.inventory.models import InventoryFleetSummary from app.locations.models import LocationSummary from app.repairs.models import ActiveRepairSummary class DashboardAccess(BaseModel): can_view_miners: bool = False can_view_repairs: bool = False can_view_locations: bool = False class DashboardOverviewData(BaseModel): fleet: InventoryFleetSummary | None = None repairs: ActiveRepairSummary | None = None locations: LocationSummary | None = None generated_at: datetime class DashboardOverviewMeta(BaseModel): available_sections: list[str] = Field(default_factory=list) class DashboardOverviewResponse(BaseModel): data: DashboardOverviewData meta: DashboardOverviewMeta = Field(default_factory=DashboardOverviewMeta) error: None = None