traer cuestionario completo
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -4,6 +4,7 @@ const app = express();
|
||||
const route = '/Cuestionario';
|
||||
const traerTodos = require('../controller/Cuestionario/traerTodos');
|
||||
const traerPorId = require('../controller/Cuestionario/traerPorId');
|
||||
const TraerCompleto = require('../controller/Cuestionario/TraerCompleto');
|
||||
const crear = require('../controller/Cuestionario/crear');
|
||||
const editar = require('../controller/Cuestionario/editar');
|
||||
|
||||
@@ -27,6 +28,16 @@ app.get(`${route}/TraerPorId`, (req, res) => {
|
||||
});
|
||||
});
|
||||
|
||||
app.get(`${route}/TraerCompleto`, (req, res) => {
|
||||
return TraerCompleto(req.query)
|
||||
.then((data) => {
|
||||
res.status(200).json(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
res.status(400).json({ message: err.message });
|
||||
});
|
||||
});
|
||||
|
||||
app.post(`${route}/crear`, (req, res) => {
|
||||
return crear(req.body)
|
||||
.then((data) => {
|
||||
|
||||
Reference in New Issue
Block a user