const validar = require('../../helper/validar'); const CasoEspecial = require('../../db/tablas/CasoEspecial'); const update = async (body) => { const idCasoEspecial = validar.validarNumeroEntero( body.idCasoEspecial, 'id caso especial' ); const dataUpdate = {}; return CasoEspecial.findOne({ where: { idCasoEspecial } }) .then(async (res) => { if (!res) throw new Error('Este Caso Especial no existe en la db.'); if (body.correo) dataUpdate.correo = validar.validarCorreo(body.correo); if (body.fechaInicio) dataUpdate.fechaInicio = validar.validarFecha( body.fechaInicio, 'fecha de inicio', false ); if (body.fechaFin) dataUpdate.fechaFin = validar.validarFecha( body.fechaFin, 'fecha fin', false ); if (body.fechaNacimiento) dataUpdate.fechaNacimiento = validar.validarFecha( body.fechaNacimiento, 'fecha de nacimiento', false ); if (body.direccion) dataUpdate.direccion = validar.validarAlfanumerico( body.direccion, 'dirección', false, 200 ); if (body.telefono) dataUpdate.telefono = validar.validarNumero( body.telefono, 'teléfono', true, 15 ); if (body.institucion) dataUpdate.institucion = validar.validarTexto( body.institucion, 'institucion', false, 200 ); if (body.dependencia) dataUpdate.dependencia = validar.validarTexto( body.dependencia, 'dependencia', false, 200 ); if (body.motivo) dataUpdate.motivo = validar.validarNumero( body.motivo, 'motivo', true, 1 ); if (validar.validarObjetoVacio(dataUpdate)) throw new Error('No se envio nada para actualizar este caso especial.'); return CasoEspecial.update(dataUpdate, { where: { idCasoEspecial } }); }) .then((res) => ({ message: 'Se guardo correctamente los cambios de este caso especial.', })); }; module.exports = update;