From 6ff3720f32e348fe5d165260093aab73becc23f9 Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Tue, 17 Nov 2020 14:33:33 -0600 Subject: [PATCH] informacion completa de un solo servicio --- server/controller/Servicio/get.js | 73 +++++++++++++++++++++++++++++++ server/routes/Servicio.js | 11 ++++- 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/server/controller/Servicio/get.js b/server/controller/Servicio/get.js index e69de29..feaa054 100644 --- a/server/controller/Servicio/get.js +++ b/server/controller/Servicio/get.js @@ -0,0 +1,73 @@ +const validar = require('../../helper/validar'); +const Servicio = require('../../db/tablas/Servicio'); +const Usuario = require('../../db/tablas/Usuario'); +const TipoUsuario = require('../../db/tablas/TipoUsuario'); +const Carrera = require('../../db/tablas/Carrera'); +const Status = require('../../db/tablas/Status'); +const Programa = require('../../db/tablas/Programa'); + +const get = (body) => { + let idServicio = validar.validarId(body.idServicio); + + return Servicio.findOne({ + where: { idServicio }, + include: [ + { model: Usuario, include: [{ model: TipoUsuario }] }, + { model: Carrera }, + { model: Status }, + { model: Programa }, + ], + }).then((res) => { + return { + idServicio: res.idServicio, + creditos: res.creditos, + nombre: res.nombre, + 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, + Usuario: { + idUsuario: res.Usuario.idUsuario, + usuario: res.Usuario.usuario, + password: res.Usuario.password, + nombre: res.Usuario.nombre, + activo: res.Usuario.activo, + TipoUsuario: { + idTipoUsuario: res.Usuario.TipoUsuario.idTipoUsuario, + tipoUsuario: res.Usuario.TipoUsuario.tipoUsuario, + }, + }, + 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 = get; diff --git a/server/routes/Servicio.js b/server/routes/Servicio.js index 4d108d4..5ea4bd0 100644 --- a/server/routes/Servicio.js +++ b/server/routes/Servicio.js @@ -4,7 +4,7 @@ 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'); app.post(`${route}/nuevo`, (req, res) => { return nuevo(req.body) @@ -36,5 +36,14 @@ app.get(`${route}/servicios_responsable`, (req, res) => { }); }); +app.get(`${route}`, (req, res) => { + return get(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); module.exports = app;