const validar = require('../../helper/validar'); const Servicio = require('../../db/tablas/Servicio'); const Usuario = require('../../db/tablas/Usuario'); const Carrera = require('../../db/tablas/Carrera'); const Status = require('../../db/tablas/Status'); const Programa = require('../../db/tablas/Programa'); const alumno = async (body) => { let idUsuario = validar.validarId(body.idUsuario); return Usuario.findOne({ where: { idUsuario } }) .then((res) => { if (!res) throw new Error('No existe este usuario.'); if (res.idTipoUsuario !== 3) throw new Error('No es un usuaior de tipo alumno.'); return Servicio.findOne({ where: { idUsuario }, include: [ { model: Usuario }, { model: Carrera }, { model: Status }, { model: Programa }, ], }); }) .then((res) => { if (!res) throw new Error('No existe este servicio social.'); return { idServicio: res.idServicio, creditos: res.creditos, correo: res.correo, telefono: res.telefono, direccion: res.direccion, fechaInicio: res.fechaInicio, fechaFin: res.fechaFin, fechaNacimiento: res.fechaNacimiento, carpeta: res.carpeta, cartaAceptacion: res.cartaAceptacion, cartaTermino: res.cartaTermino, informeGlobal: res.informeGlobal, programaInterno: res.programaInterno, profesor: res.profesor, vistoBuenoAcatlan: res.vistoBuenoAcatlan, idCuestionarioAlumno: res.idCuestionarioAlumno, idCuestionarioPrograma: res.idCuestionarioPrograma, Carrera: { idCarrera: res.Carrera.idCarrera, carrera: res.Carrera.carrera, }, Status: { idStatus: res.Status.idStatus, status: res.Status.status, }, Programa: { idPrograma: res.Programa.idPrograma, institucion: res.Programa.institucion, dependencia: res.Programa.dependencia, programa: res.Programa.programa, clavePrograma: res.Programa.clavePrograma, acatlan: res.Programa.acatlan, activo: res.Programa.activo, idUsuario: res.Programa.idUsuario, }, }; }); }; module.exports = alumno;