Añadidos endpoints de validación, organización del backend en subcarpetas y archivos y añadido el control de errores http.

This commit is contained in:
Mireya Cueto Garrido
2026-03-25 13:42:09 +01:00
parent 9a8ddf5328
commit e79c6df2ba
18 changed files with 489 additions and 210 deletions
@@ -0,0 +1,38 @@
from fastapi import APIRouter, HTTPException
from models.docmf_simple_validation_models import SimpleValidationRequest
from services.docmf_simple_validation_service import validate_simple_levels
router = APIRouter()
@router.post("/validate-simple")
def validate_simple_docmf(request: SimpleValidationRequest):
results = validate_simple_levels(request.levels)
invalid = [r for r in results if not r["valid"]]
# Caso: un solo nivel
if len(request.levels) == 1:
if invalid:
raise HTTPException(
status_code=400,
detail={
"message": "El nivel es incorrecto.",
"errors": invalid[0]["errors"]
}
)
return {
"message": "El nivel es correcto.",
"details": results[0]
}
# Caso: varios niveles
if invalid:
return {
"message": "Validación completada.",
"valid_levels": [r for r in results if r["valid"]],
"invalid_levels": invalid
}
return {
"message": "Todos los niveles son correctos.",
"results": results
}