diff --git a/server/controller/Servicio/get.js b/server/controller/Servicio/admin.js similarity index 97% rename from server/controller/Servicio/get.js rename to server/controller/Servicio/admin.js index d10dce1..7d2bb03 100644 --- a/server/controller/Servicio/get.js +++ b/server/controller/Servicio/admin.js @@ -6,7 +6,7 @@ const Carrera = require('../../db/tablas/Carrera'); const Status = require('../../db/tablas/Status'); const Programa = require('../../db/tablas/Programa'); -const get = (body) => { +const admin = (body) => { let idServicio = validar.validarId(body.idServicio); return Servicio.findOne({ @@ -70,4 +70,4 @@ const get = (body) => { }); }; -module.exports = get; +module.exports = admin; diff --git a/server/controller/Servicio/alumno.js b/server/controller/Servicio/alumno.js new file mode 100644 index 0000000..13ab5b2 --- /dev/null +++ b/server/controller/Servicio/alumno.js @@ -0,0 +1,68 @@ +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; diff --git a/server/controller/Usuario/login.js b/server/controller/Usuario/login.js index c769f5a..3b01871 100644 --- a/server/controller/Usuario/login.js +++ b/server/controller/Usuario/login.js @@ -15,7 +15,7 @@ const login = async (body) => { if (!res) throw new Error('No existe este usuario.'); if (encriptar.comparar(password, res.password)) { return { - alumno: { + Usuario: { idUsuario: res.idUsuario, usuario: res.usuario, nombre: res.nombre, diff --git a/server/db/tablas/Servicio.js b/server/db/tablas/Servicio.js index 9d34104..2b8aa08 100644 --- a/server/db/tablas/Servicio.js +++ b/server/db/tablas/Servicio.js @@ -31,7 +31,7 @@ Servicio.init( defaultValue: null, }, direccion: { - type: DataTypes.STRING(150), + type: DataTypes.STRING(200), allowNull: true, defaultValue: null, }, diff --git a/server/routes/Servicio.js b/server/routes/Servicio.js index 5ea4bd0..e6edc2f 100644 --- a/server/routes/Servicio.js +++ b/server/routes/Servicio.js @@ -4,7 +4,8 @@ const route = '/servicio'; const nuevo = require('../controller/Servicio/nuevo'); const serviciosAdmin = require('../controller/Servicio/serviciosAdmin'); const serviciosResponsable = require('../controller/Servicio/serviciosResponsable'); -const get = require('../controller/Servicio/get'); +const admin = require('../controller/Servicio/admin'); +const alumno = require('../controller/Servicio/alumno'); app.post(`${route}/nuevo`, (req, res) => { return nuevo(req.body) @@ -36,8 +37,18 @@ app.get(`${route}/servicios_responsable`, (req, res) => { }); }); -app.get(`${route}`, (req, res) => { - return get(req.query) +app.get(`${route}/admin`, (req, res) => { + return admin(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + +app.get(`${route}/alumno`, (req, res) => { + return alumno(req.query) .then((data) => { res.status(200).json(data); })