diff --git a/src/plesna_gerance/api/routes/dashboard.py b/src/plesna_gerance/api/routes/dashboard.py index 87854cf..8053e3b 100644 --- a/src/plesna_gerance/api/routes/dashboard.py +++ b/src/plesna_gerance/api/routes/dashboard.py @@ -85,53 +85,11 @@ class ImmeubleShortcutResponse(BaseModel): total_impayes: float -class DashboardStatsResponse(BaseModel): - """Stats enrichies pour le dashboard.""" - - documents: int - immeubles: int - lots: int - locataires: int - total_revenus: float - total_depenses: float - total_impayes: float - - # ============================================================ # Endpoints # ============================================================ -@router.get("/stats", response_model=DashboardStatsResponse) -async def get_dashboard_stats( - session: Session = Depends(get_session), -) -> DashboardStatsResponse: - """Retourne les statistiques enrichies pour le dashboard. - - Inclut les compteurs et les totaux financiers. - """ - # Compteurs - documents_count = session.execute(select(func.count(Document.id))).scalar() or 0 - immeubles_count = session.execute(select(func.count(Immeuble.id))).scalar() or 0 - lots_count = session.execute(select(func.count(Lot.id))).scalar() or 0 - locataires_count = session.execute(select(func.count(Locataire.id))).scalar() or 0 - - # Totaux financiers - total_revenus = session.execute(select(func.sum(Revenu.total))).scalar() or 0.0 - total_depenses = session.execute(select(func.sum(Depense.debit))).scalar() or 0.0 - total_impayes = session.execute(select(func.sum(Revenu.impayes))).scalar() or 0.0 - - return DashboardStatsResponse( - documents=documents_count, - immeubles=immeubles_count, - lots=lots_count, - locataires=locataires_count, - total_revenus=total_revenus, - total_depenses=total_depenses, - total_impayes=total_impayes, - ) - - @router.get("/financial-summary", response_model=FinancialSummaryResponse) async def get_financial_summary( session: Session = Depends(get_session),