traer cuestionario completo

This commit is contained in:
2022-06-25 18:59:53 -05:00
parent 42aea448a7
commit ce503b7058
3 changed files with 87 additions and 0 deletions
@@ -0,0 +1,45 @@
const Cuestionario = require('../../db/tablas/Cuestionario');
const Seccion = require('../../db/tablas/Seccion');
const Pregunta = require('../../db/tablas/Pregunta');
const Opcion = require('../../db/tablas/Opcion');
const validar = require('../../helper/validar');
const traerCompleto = async (query) => {
const idCuestionario = validar.validarNumeroEntero(
query.idCuestionario,
'idCuestionario'
);
let cuestionario = {};
const cuest = await Cuestionario.findOne({ where: { idCuestionario } });
if (!cuest) throw new Error('No existe el cuestionario');
cuestionario.cuestionario = cuest;
const secciones = await Seccion.findAll({ where: { idCuestionario } });
if (secciones.length === 0) throw new Error('No existen secciones');
cuestionario.secciones = secciones;
for (let i = 0; i < secciones.length; i++) {
cuestionario.secciones[i].preguntas = [];
const preguntas = await Pregunta.findAll({
where: { idSeccion: secciones[i].idSeccion },
});
cuestionario.secciones[i].dataValues.preguntas = preguntas;
for (let j = 0; j < preguntas.length; j++) {
cuestionario.secciones[i].dataValues.preguntas[j].dataValues.opciones =
[];
const opciones = await Opcion.findAll({
where: { idPregunta: preguntas[j].idPregunta },
});
cuestionario.secciones[i].dataValues.preguntas[
j
].dataValues.opciones.push(opciones);
}
}
return cuestionario;
};
module.exports = traerCompleto;
@@ -0,0 +1,31 @@
const RespuestaAbiertaEd = require('../../db/tablas/RespuestaAbiertaEd');
const RespuestaAbiertaTrabajador = require('../../db/tablas/RespuestaAbiertaTrabajador');
const RespuestaAbiertaAlumno = require('../../db/tablas/RespuestaAbiertaAlumno');
const RespuestaEd = require('../../db/tablas/RespuestaEd');
const RespuestaTrabajador = require('../../db/tablas/RespuestaTrabajador');
const RespuestaAlumno = require('../../db/tablas/RespuestaAlumno');
const Pregunta = require('../../db/tablas/Pregunta');
const TipoPregunta = require('../../db/tablas/TipoPregunta');
const validar = require('../../helper/validar');
const traerPoridPregunta = async (query) => {
const idPregunta = validar.validarNumeroEntero(
query.idPregunta,
'idPregunta'
);
const existePregunta = Pregunta.findOne({where: idPregunta, include: [{ model: TipoPregunta }]})
if(!existePregunta) throw new Error("No existe una pregunta con est idPregunta en la db.")
if(existePregunta.idTipoPregunta !== 1 ) {
}
return Respuesta.findAll({
where: { idPregunta }
}).then(res => {
if(!res) throw new Error("No hay ninguna Respuesta con este idPregunta.")
return res;
});
};
module.exports = traerPoridPregunta;