feat(contratos): tabla de contratos con tipo_usuario por contrato

Agrega tabla `contratos` en SQLite sembrada con los 17 contratos del
laboratorio. `generar_rda_paciente` consulta el mapa contrato→tipoUsuario
como primera prioridad antes de derivar de TIPOUSU/TIPOUSUSISPRO.
Incluye CRUD en /contratos con UI en sidebar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-09 15:00:21 -05:00
co-authored by Claude Sonnet 4.6
parent 7d2a9df447
commit 0f3a760de4
8 changed files with 337 additions and 12 deletions
+4 -1
View File
@@ -56,8 +56,10 @@ async def startup():
init_db()
from app.routes.config import ensure_defaults as config_defaults
from app.routes.queries import ensure_defaults as query_defaults
from app.routes.contratos import ensure_defaults as contratos_defaults
config_defaults()
query_defaults()
contratos_defaults()
@app.get("/")
@@ -65,7 +67,7 @@ async def root():
return RedirectResponse(url="/dashboard")
from app.routes import auth, dashboard, config, queries, terceros, transaccion, logs, automation, test_rda, debug_fb, pacientes
from app.routes import auth, dashboard, config, queries, terceros, transaccion, logs, automation, test_rda, debug_fb, pacientes, contratos
app.include_router(auth.router)
app.include_router(dashboard.router)
@@ -78,6 +80,7 @@ app.include_router(automation.router)
app.include_router(test_rda.router)
app.include_router(debug_fb.router)
app.include_router(pacientes.router)
app.include_router(contratos.router)
if __name__ == "__main__":