refactor: update module docstrings for clarity and consistency
This commit is contained in:
@@ -1,17 +1,23 @@
|
||||
"""Dashboard metrics schemas for KPI and time-series API responses."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from datetime import datetime # noqa: TCH003
|
||||
from typing import Literal
|
||||
|
||||
from sqlmodel import SQLModel
|
||||
|
||||
|
||||
class DashboardSeriesPoint(SQLModel):
|
||||
"""Single numeric time-series point."""
|
||||
|
||||
period: datetime
|
||||
value: float
|
||||
|
||||
|
||||
class DashboardWipPoint(SQLModel):
|
||||
"""Work-in-progress point split by task status buckets."""
|
||||
|
||||
period: datetime
|
||||
inbox: int
|
||||
in_progress: int
|
||||
@@ -19,28 +25,38 @@ class DashboardWipPoint(SQLModel):
|
||||
|
||||
|
||||
class DashboardRangeSeries(SQLModel):
|
||||
"""Series payload for a single range/bucket combination."""
|
||||
|
||||
range: Literal["24h", "7d"]
|
||||
bucket: Literal["hour", "day"]
|
||||
points: list[DashboardSeriesPoint]
|
||||
|
||||
|
||||
class DashboardWipRangeSeries(SQLModel):
|
||||
"""WIP series payload for a single range/bucket combination."""
|
||||
|
||||
range: Literal["24h", "7d"]
|
||||
bucket: Literal["hour", "day"]
|
||||
points: list[DashboardWipPoint]
|
||||
|
||||
|
||||
class DashboardSeriesSet(SQLModel):
|
||||
"""Primary vs comparison pair for generic series metrics."""
|
||||
|
||||
primary: DashboardRangeSeries
|
||||
comparison: DashboardRangeSeries
|
||||
|
||||
|
||||
class DashboardWipSeriesSet(SQLModel):
|
||||
"""Primary vs comparison pair for WIP status series metrics."""
|
||||
|
||||
primary: DashboardWipRangeSeries
|
||||
comparison: DashboardWipRangeSeries
|
||||
|
||||
|
||||
class DashboardKpis(SQLModel):
|
||||
"""Topline dashboard KPI summary values."""
|
||||
|
||||
active_agents: int
|
||||
tasks_in_progress: int
|
||||
error_rate_pct: float
|
||||
@@ -48,6 +64,8 @@ class DashboardKpis(SQLModel):
|
||||
|
||||
|
||||
class DashboardMetrics(SQLModel):
|
||||
"""Complete dashboard metrics response payload."""
|
||||
|
||||
range: Literal["24h", "7d"]
|
||||
generated_at: datetime
|
||||
kpis: DashboardKpis
|
||||
|
||||
Reference in New Issue
Block a user