Scadenzario aggiunta pratiche

This commit is contained in:
2026-06-17 22:09:18 +02:00
parent 3fd3c72f06
commit 64442af182
7 changed files with 722 additions and 157 deletions
+28
View File
@@ -33,6 +33,7 @@ from app.models.message import Message
from app.schemas.fascicolo import (
FascicoloAddMessagesRequest,
FascicoloCreate,
FascicoloDeadlineResponse,
FascicoloMessageItem,
FascicoloRemoveMessagesRequest,
FascicoloResponse,
@@ -73,6 +74,33 @@ async def list_fascicoli(
return [_to_response(f, cnt) for f, cnt in rows]
@router.get("/fascicoli/scadenzario", response_model=list[FascicoloDeadlineResponse])
async def list_fascicoli_scadenzario(
current_user: CurrentUser,
db: DB,
days_ahead: int = Query(30, ge=1, le=365, description="Giorni da considerare in avanti"),
include_overdue: bool = Query(True, description="Includi fascicoli gia' scaduti"),
) -> list[FascicoloDeadlineResponse]:
"""
Scadenzario pratiche: fascicoli con scadenza imminente o scaduta.
Ordinati per scadenza ASC (scaduti prima, poi futuri).
"""
svc = FascicoloService(db)
rows = await svc.list_fascicoli_scadenzario(
current_user.tenant_id,
days_ahead=days_ahead,
include_overdue=include_overdue,
)
items = []
for fascicolo, cnt, is_overdue in rows:
resp = FascicoloDeadlineResponse.model_validate(fascicolo)
resp.message_count = cnt
resp.is_overdue = is_overdue
items.append(resp)
return items
@router.post("/fascicoli", response_model=FascicoloResponse, status_code=status.HTTP_201_CREATED)
async def create_fascicolo(
data: FascicoloCreate,