Files

43 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2022-01-02 15:13:33 -06:00
const validar = require('../../helper/validar');
2021-11-30 12:18:12 -06:00
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Usuario = require(`${dbPath}/Usuario`);
const reasignarProgramas = async (body) => {
2022-01-02 15:13:33 -06:00
const idUsuario = validar.validarNumeroEntero(body.idUsuario, 'id usuario');
const correoOtroResponsable = validar.validarCorreo(
body.correoOtroResponsable
);
2021-11-30 12:18:12 -06:00
let otorResponsable = {};
return Usuario.findOne({
where: { idUsuario },
})
.then((res) => {
if (!res) throw new Error('No existe este usuario.');
if (res.idTipoUsuario != 2)
throw new Error('No es un usuario de tipo responsable');
if (res.usuario === correoOtroResponsable)
throw new Error('Son el mismo usuario.');
return Usuario.findOne({ where: { usuario: correoOtroResponsable } });
})
.then((res) => {
if (!res) throw new Error('No existe este usuario.');
otorResponsable = res;
return Programa.update(
{ idUsuario },
{
where: { idUsuario: otorResponsable.idUsuario },
}
);
})
.then((res) =>
Usuario.destroy({ where: { idUsuario: otorResponsable.idUsuario } })
)
.then((res) => ({
message: `Se elimino correctamente al usuario ${correoOtroResponsable} y se reasigno correctamente sus programas.`,
}));
};
module.exports = reasignarProgramas;