Files
2022-05-13 22:10:54 -05:00

40 lines
1.3 KiB
JavaScript

const Profesor = require('../../db/tablas/Profesor');
const ProfesorPremiacion = require('../../db/tablas/ProfesorPremiacion');
const validar = require('../../helper/validar');
const entradaInvitado = async (body) => {
const idProfesor = validar.validarNumeroEntero(body.idProfesor, 'idProfesor');
const idPremiacion = validar.validarNumeroEntero(
body.idPremiacion,
'idPremiacion'
);
const profesor = await Profesor.findOne({ where: idProfesor });
if (!profesor) throw new Error('Este profesor no existe.');
const profPrem = await ProfesorPremiacion.findOne({
where: { idPremiacion, idProfesor },
});
if (!profPrem)
throw new Error(
'Este profesor no está registrado en esta entrega de medallas.'
);
if (!profPrem.numeroInvitados)
throw new Error('Este profesor no registró a ninún invitado.');
let noInvDentro = profPrem.dataValues.numeroInvitadosDentro;
let noInv = profPrem.dataValues.numeroInvitados;
if (noInvDentro && noInvDentro >= noInv)
throw new Error('Este profesor ya ingreso a todos sus invitados.');
const res = await profPrem.update({ numeroInvitadosDentro: noInvDentro + 1 });
if (!res)
throw new Error(
'Ha ocurrido un error al registrar los invitados del profesor.'
);
return res;
};
module.exports = entradaInvitado;