Files
2022-01-02 18:25:31 -06:00

78 lines
2.2 KiB
JavaScript

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;