Fix param validation errors and add TNS config section

- terceros/transaccion: return clear error when required params (doc_num, num_factura) are missing instead of passing empty dict to Firebird causing Column unknown error
- transaccion: remove prefijo from 'por factura' query; parse num_factura as int when digit
- automation: add /preview endpoint to show patient/reception counts before sending; update UI with preview step and disabled run button until preview loads
- config: add TNS credentials section (tns_empresa, tns_usuario, tns_password, api_sucursal) with test-connection button
- config: add POST /config/test-tns endpoint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-25 19:29:32 -05:00
co-authored by Claude Sonnet 4.6
parent 3755a51562
commit b4a7271d8d
7 changed files with 246 additions and 47 deletions
+16 -1
View File
@@ -1,7 +1,8 @@
from fastapi import APIRouter, Request, Form, Depends
from fastapi.responses import RedirectResponse
from fastapi.responses import JSONResponse, RedirectResponse
from app.database import get_connection
from app.auth import get_current_user
from app.services.api_client import get_tns_token
router = APIRouter(prefix="/config", tags=["config"])
@@ -45,6 +46,20 @@ async def config_page(request: Request, user: dict = Depends(get_current_user)):
})
@router.post("/test-tns")
async def test_tns(
request: Request,
user: dict = Depends(get_current_user),
empresa: str = Form(""),
usuario: str = Form(""),
password: str = Form(""),
):
token, err = await get_tns_token(empresa, usuario, password)
if token:
return JSONResponse({"success": True, "message": "Login TNS exitoso"})
return JSONResponse({"success": False, "message": err or "Error desconocido"})
@router.post("/save")
async def config_save(request: Request, user: dict = Depends(get_current_user)):
form = await request.form()