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:
@@ -0,0 +1,39 @@
|
||||
def validate_single_level(level: dict):
|
||||
errors = []
|
||||
|
||||
a, b = level["core"]
|
||||
c, d = level["support"]
|
||||
|
||||
# Core dentro del soporte
|
||||
if not (c <= a < b <= d):
|
||||
errors.append("El núcleo debe estar completamente dentro del soporte.")
|
||||
|
||||
# Nodos cubren correctamente el soporte
|
||||
left = level["left_nodes"]
|
||||
right = level["right_nodes"]
|
||||
|
||||
if left[0][0] != c:
|
||||
errors.append("El primer nodo izquierdo debe coincidir con el inicio del soporte.")
|
||||
if left[-1][0] != a:
|
||||
errors.append("El último nodo izquierdo debe coincidir con el inicio del núcleo.")
|
||||
|
||||
if right[0][0] != b:
|
||||
errors.append("El primer nodo derecho debe coincidir con el final del núcleo.")
|
||||
if right[-1][0] != d:
|
||||
errors.append("El último nodo derecho debe coincidir con el final del soporte.")
|
||||
|
||||
return errors
|
||||
|
||||
|
||||
def validate_levels(levels):
|
||||
results = []
|
||||
|
||||
for idx, level in enumerate(levels):
|
||||
errors = validate_single_level(level.dict())
|
||||
results.append({
|
||||
"level_index": idx,
|
||||
"valid": len(errors) == 0,
|
||||
"errors": errors
|
||||
})
|
||||
|
||||
return results
|
||||
Reference in New Issue
Block a user