Consultation des alertes de consommation, filtrable par site_id et severity a l'identique du contrat GET /alerts de l'API Mock. Reprend le gabarit endpoints -> services -> repositories -> models pose par sites, sur la table alert deja creee par la revision Alembic e6d2026091501. Generalise aussi le garde-fou OpenAPI du 403 (ROUTES_A_ROLE) au-dela du seul tag users, pour que l'ajout d'alerts a la liste des routes protegees par role soit reellement verifie. Closes #59
15 lines
440 B
Python
15 lines
440 B
Python
from collections.abc import Sequence
|
|
|
|
from app.models.energy import Alert
|
|
from app.repositories.alert import AlertRepository
|
|
|
|
|
|
class AlertService:
|
|
def __init__(self, *, alerts: AlertRepository) -> None:
|
|
self._alerts = alerts
|
|
|
|
async def list_all(
|
|
self, *, site_id: str | None = None, severity: str | None = None
|
|
) -> Sequence[Alert]:
|
|
return await self._alerts.list_all(site_id=site_id, severity=severity)
|