remove cuestionario from all project. answers validated, time error reports

This commit is contained in:
Your Name
2025-02-17 09:37:37 -06:00
parent 8a24c4368b
commit 5aef8dac66
13 changed files with 273 additions and 148 deletions
+104 -2
View File
@@ -206,7 +206,7 @@ const validarPreTermino = (idServicio) => {
const validarCuestionarioAlumno2 = (body) => {
const validarCuestionarioAlumno2old = (body) => {
console.log("Validando cuestionario alumno 2");
// Excluir p2 de la validación de campos nulos
@@ -225,11 +225,64 @@ const validarCuestionarioAlumno2 = (body) => {
return body;
};
const validarCuestionarioAlumno2 = (body) => {
console.log("Validando cuestionario alumno 2");
// Definir las claves que se consideran opcionales (las preguntas condicionales en el front)
const optionalKeys = ['p5', 'p8', 'p16', 'p18'];
// Si p1 viene como array, concatenarla en una cadena separada por comas.
if (Array.isArray(body.p1)) {
body.p1 = body.p1.join(', ');
}
// Verificar que cada campo obligatorio (no opcional) no esté vacío.
for (const [key, value] of Object.entries(body)) {
if (!optionalKeys.includes(key) && (value === null || value === undefined || value === '')) {
throw new Error(`El campo ${key} no puede estar vacío.`);
}
}
// Lista de claves obligatorias esperadas (según la función formatearRespuestas en el front)
const expectedKeys = [
// Preguntas individuales obligatorias:
"p1", "p2", "p4", "p6", "p7", "p9", "p13", "p14", "p15",
// Las condicionales se consideran opcionales: p5, p8, p16 y p18
// Tablas:
// Tabla 130 (numeroPregunta 3)
"p3_1", "p3_2", "p3_3", "p3_4",
// Tabla 104 (numeroPregunta 10)
"p10_1", "p10_2", "p10_3",
// Tabla 105 (numeroPregunta 11)
"p11_1", "p11_2", "p11_3", "p11_4",
// Tabla 106 (numeroPregunta 17)
"p17_1", "p17_2", "p17_3",
// Tabla 101 (numeroPregunta 12, sub "A. Habilidades personales")
"p12_A_1", "p12_A_2", "p12_A_3", "p12_A_4",
// Tabla 102 (numeroPregunta 12, sub "B. Habilidades profesionales")
"p12_B_1", "p12_B_2", "p12_B_3", "p12_B_4",
// Tabla 103 (numeroPregunta 12, sub "C. Habilidades sociales")
"p12_C_1", "p12_C_2", "p12_C_3", "p12_C_4", "p12_C_5",
// Tabla 1042 (numeroPregunta 12, sub "D. Conocimientos")
"p12_D_1", "p12_D_2", "p12_D_3", "p12_D_4", "p12_D_5"
];
for (const key of expectedKeys) {
if (!(key in body)) {
throw new Error(`Falta la respuesta para la pregunta ${key}.`);
}
}
console.log("Validación exitosa. Todos los campos son válidos.");
return body;
};
const validarCuestionarioPrograma2 = (body) => {
const validarCuestionarioPrograma2old = (body) => {
console.log("Validando cuestionario programa 2");
// Excluir p2 de la validación de campos nulos
@@ -249,6 +302,55 @@ const validarCuestionarioPrograma2 = (body) => {
};
const validarCuestionarioPrograma2 = (body) => {
console.log("Validando cuestionario programa 2");
// Definir las claves condicionales (opcionales). En este caso, la pregunta 6 (porqueNoContrataria) es condicional.
const camposOpcionales = ["p6"];
// Si la respuesta de p1 viene como array, concatenarla en una cadena
if (Array.isArray(body.p1)) {
body.p1 = body.p1.join(', ');
}
// Verificar que cada campo obligatorio (no opcional) no esté vacío
for (const [key, value] of Object.entries(body)) {
if (!camposOpcionales.includes(key) && (value === null || value === undefined || value === '')) {
throw new Error(`El campo ${key} no puede estar vacío.`);
}
}
// Lista de claves obligatorias esperadas (según el formateo que se usa en el front)
const expectedKeys = [
// Preguntas individuales obligatorias:
"p1", "p2", "p4", "p5",
// Las condicionales, como "p6", son opcionales
// Tablas:
// Tabla 301 (sub "A. Habilidades personales")
"p3_A_1", "p3_A_2", "p3_A_3", "p3_A_4",
// Tabla 302 (sub "B. Habilidades profesionales")
"p3_B_1", "p3_B_2", "p3_B_3", "p3_B_4",
// Tabla 303 (sub "C. Habilidades sociales")
"p3_C_1", "p3_C_2", "p3_C_3", "p3_C_4", "p3_C_5",
// Tabla 304 (sub "D. Conocimientos")
"p3_D_1", "p3_D_2", "p3_D_3", "p3_D_4", "p3_D_5"
];
// Verificar que existan todas las claves obligatorias
for (const key of expectedKeys) {
if (!(key in body)) {
throw new Error(`Falta la respuesta para la pregunta ${key}.`);
}
}
console.log("Validación exitosa. Todos los campos son válidos.");
return body;
};
module.exports = { validarCuestionarioPrograma2 };