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;