66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
const Pregunta = require(`../../db/tablas/Pregunta`);
|
|
const TipoPregunta = require('../../db/tablas/TipoPregunta');
|
|
const validar = require(`../../helper/validar`);
|
|
|
|
const editar = async (body) => {
|
|
const idPregunta = validar.validarNumeroEntero(body.idPregunta, 'idPregunta');
|
|
const data = {};
|
|
|
|
if (!!body.pregunta) {
|
|
data.pregunta = validar.validacionBasicaStr(
|
|
body.pregunta,
|
|
'pregunta',
|
|
false,
|
|
265
|
|
);
|
|
}
|
|
if (!!body.idPreguntaDepende) {
|
|
data.idPreguntaDepende = validar.validarNumeroEntero(
|
|
body.idPreguntaDepende,
|
|
'idPreguntaDepende',
|
|
true
|
|
);
|
|
}
|
|
if (!!body.idTipoPregunta) {
|
|
data.idTipoPregunta = validar.validarNumeroEntero(
|
|
body.idTipoPregunta,
|
|
'idTipoPregunta',
|
|
true
|
|
);
|
|
}
|
|
if (!!body.otra !== null) data.otra = body.obligatoria;
|
|
if (!!body.obligatoria !== null) data.obligatoria = body.obligatoria;
|
|
|
|
const extistePregunta = await Pregunta.findOne({ where: { idPregunta } });
|
|
if (!extistePregunta) throw new Error('No existe esta pregunta.');
|
|
|
|
if (data.idPreguntaDepende) {
|
|
const extistePreguntaDepende = await Pregunta.findOne({
|
|
where: { idPregunta: data.idPreguntaDepende },
|
|
});
|
|
if (!extistePreguntaDepende)
|
|
throw new Error('No existe la pregunta de la que depende.');
|
|
}
|
|
|
|
if (data.idTipoPregunta) {
|
|
const existeTipoPregunta = await TipoPregunta.findOne({
|
|
where: { idTipoPregunta: data.idTipoPregunta },
|
|
});
|
|
if (!existeTipoPregunta) throw new Error('No existe el tipo pregunta.');
|
|
}
|
|
|
|
const res = await Pregunta.update(
|
|
{
|
|
pregunta: data.pregunta,
|
|
idTipoPregunta: data.idTipoPregunta,
|
|
idPreguntaDepende: data.idPreguntaDepende,
|
|
otra: data.otra,
|
|
obligatoria: data.obligatoria,
|
|
},
|
|
{ where: { idPregunta } }
|
|
);
|
|
if (!res) throw new Error('Se ha actualizado la pregunta con éxito.');
|
|
return {message: 'Se ha actualizado la pregunta con éxito.'};
|
|
};
|
|
|
|
module.exports = editar; |