Files

41 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

const { Op } = require('sequelize');
2022-01-02 15:07:49 -06:00
const { validarNumeroEntero } = require('../../helper/validar');
2021-05-05 18:49:23 -05:00
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Status = require(`${dbPath}/Status`);
const Usuario = require(`${dbPath}/Usuario`);
2020-11-19 11:47:23 -06:00
const alumno = async (body) => {
2022-01-02 15:07:49 -06:00
let idUsuario = validarNumeroEntero(body.idUsuario, 'id usuario');
2020-11-19 11:47:23 -06:00
return Usuario.findOne({ where: { idUsuario } })
.then((res) => {
if (!res) throw new Error('No existe este usuario.');
if (res.idTipoUsuario !== 3)
2021-01-14 03:13:37 -06:00
throw new Error('No es un usuario de tipo alumno.');
2020-11-19 11:47:23 -06:00
return Servicio.findOne({
where: { idUsuario, idStatus: { [Op.not]: 10 } },
2021-01-14 03:13:37 -06:00
include: [{ model: Carrera }, { model: Status }, { model: Programa }],
2020-11-19 11:47:23 -06:00
});
})
.then((res) => {
if (!res) throw new Error('No existe este servicio social.');
2021-01-14 03:13:37 -06:00
delete res.dataValues.idUsuario;
delete res.dataValues.idCarrera;
delete res.dataValues.idStatus;
delete res.dataValues.idPrograma;
delete res.dataValues.updatedAt;
delete res.dataValues.carpeta;
delete res.dataValues.cartaAceptacion;
delete res.dataValues.cartaTermino;
delete res.dataValues.vistoBuenoAcatlan;
delete res.dataValues.idCuestionarioPrograma;
delete res.dataValues.Programa.idUsuario;
return res;
2020-11-19 11:47:23 -06:00
});
};
module.exports = alumno;