feat: endpoint pratiche rendicontazione (lato beneficiario)
- 4 nuove tabelle: remission_practice, remission_invoice, remission_ula_employee, remission_document
con cascade delete e FK
- 13 endpoint /api/remission-practices/*:
GET /mine (lista pratiche user + applications CONTRACT_SIGNED ready_to_start)
POST /start (avvia pratica da application_id, richiede schema PUBLISHED)
GET /{id}, PUT /{id} (regime IVA + note)
POST/DELETE /{id}/invoices
POST/DELETE /{id}/ula-employees
PUT/DELETE /{id}/documents/{doc_code}
GET /{id}/gate-check (valida gate rules contro pratica, ritorna totali + checks)
POST /{id}/submit (gate-check obbligatorio, status DRAFT -> SUBMITTED)
- 1 endpoint debug /api/debug/impersonate (sandbox-only, genera JWT per utente
- necessario perche' /v1/user/login del BE Spring esclude ROLE_BENEFICIARY)
- Gate check calcola: totali per categoria, grand_total, max_remission = min(cap_pct*erogato, cap_abs),
remission_due = min(grand_total, max_remission), applica iva_ordinario_imponibile_only
This commit is contained in:
@@ -14,7 +14,7 @@ from sqlalchemy import text
|
||||
|
||||
from .config import get_settings
|
||||
from .db import engine, Base
|
||||
from .routers import health, schemas
|
||||
from .routers import health, schemas, practices, debug
|
||||
|
||||
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s: %(message)s")
|
||||
log = logging.getLogger("rendicontazione-api")
|
||||
@@ -55,6 +55,8 @@ app.add_middleware(
|
||||
|
||||
app.include_router(health.router, tags=["health"])
|
||||
app.include_router(schemas.router)
|
||||
app.include_router(practices.router)
|
||||
app.include_router(debug.router)
|
||||
|
||||
|
||||
@app.get("/", tags=["root"])
|
||||
|
||||
Reference in New Issue
Block a user