"""Dashboard aggregation endpoints (funnel + summary widgets).""" from __future__ import annotations from fastapi import APIRouter, Depends from sqlmodel import Session from auth import get_current_user from database import get_session from models.user import User from services import dashboard_service router = APIRouter(prefix="/api/dashboard", tags=["dashboard"]) @router.get("/funnel") async def funnel( refresh: bool = False, session: Session = Depends(get_session), _user: User = Depends(get_current_user), ) -> dict: return await dashboard_service.compute_funnel(session, refresh=refresh) @router.get("/summary") async def summary( session: Session = Depends(get_session), _user: User = Depends(get_current_user), ) -> dict: return await dashboard_service.compute_summary(session)