40 lines
842 B
Python
40 lines
842 B
Python
from pydantic import BaseModel
|
|
from typing import List
|
|
|
|
|
|
class StatisticheResponse(BaseModel):
|
|
"""Schema per statistiche dashboard"""
|
|
totale_allarmi: int
|
|
totale_siti: int
|
|
allarmi_aperti: int
|
|
allarmi_recenti_7gg: int
|
|
|
|
# Per severità
|
|
allarmi_critical: int
|
|
allarmi_warning: int
|
|
allarmi_info: int
|
|
|
|
# Per stato
|
|
allarmi_nuovo: int
|
|
allarmi_in_gestione: int
|
|
allarmi_risolto: int
|
|
|
|
# Siti per tipo
|
|
siti_ponte: int
|
|
siti_galleria: int
|
|
siti_diga: int
|
|
siti_frana: int
|
|
siti_versante: int
|
|
siti_edificio: int
|
|
|
|
|
|
class AllarmePerGiornoItem(BaseModel):
|
|
"""Item per grafico allarmi per giorno"""
|
|
data: str # ISO format date
|
|
count: int
|
|
|
|
|
|
class AllarmiPerGiornoResponse(BaseModel):
|
|
"""Schema per allarmi raggruppati per giorno"""
|
|
dati: List[AllarmePerGiornoItem]
|