From ac8266d7fcc2fb470e8e83afcc2b7e3caad14e6a Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Wed, 28 Apr 2021 23:58:55 -0500 Subject: [PATCH] get endpoints prestamos --- server/controller/Prestamo/activos.js | 43 +++++++++++ server/controller/Prestamo/historial.js | 42 +++++++++++ server/controller/Prestamo/historialEquipo.js | 49 ++++++++++++ .../controller/Prestamo/historialUsuario.js | 48 ++++++++++++ server/routes/Equipo.js | 1 + server/routes/Prestamo.js | 74 ++++++++++++++++--- server/routes/index.js | 1 + 7 files changed, 247 insertions(+), 11 deletions(-) create mode 100644 server/controller/Prestamo/historialEquipo.js diff --git a/server/controller/Prestamo/activos.js b/server/controller/Prestamo/activos.js index e69de29..d20c46d 100644 --- a/server/controller/Prestamo/activos.js +++ b/server/controller/Prestamo/activos.js @@ -0,0 +1,43 @@ +const validar = require('../../helper/validar'); +const dbPath = '../../db/tablas'; +const Prestamo = require(`${dbPath}/Prestamo`); +const Equipo = require(`${dbPath}/Equipo`); +const Usuario = require(`${dbPath}/Usuario`); +const TipoUsuario = require(`${dbPath}/TipoUsuario`); +const Carrito = require(`${dbPath}/Carrito`); +const Modulo = require(`${dbPath}/Modulo`); +const TipoCarrito = require(`${dbPath}/TipoCarrito`); +const Carrera = require(`${dbPath}/Carrera`); + +const activos = async (body) => { + return Prestamo.findAll({ + include: [ + { + model: Equipo, + where: { activo: true }, + include: [ + { + model: Carrito, + include: [{ model: TipoCarrito }, { model: Modulo }], + }, + ], + }, + { model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] }, + ], + }).then((res) => { + for (let i = 0; i < res.length; i++) { + delete res[i].dataValues.idUsuario; + delete res[i].dataValues.idOperadorEntrega; + delete res[i].dataValues.idEquipo; + delete res[i].dataValues.idStatus; + delete res[i].dataValues.Carrito.dataValues.idTipoCarrito; + delete res[i].dataValues.Carrito.dataValues.idModulo; + delete res[i].dataValues.Usuario.dataValues.idTipoUsuario; + delete res[i].dataValues.Usuario.dataValues.idCarrera; + if (res[i].idPrograma) delete res[i].dataValues.idPrograma; + } + return { activos: res }; + }); +}; + +module.exports = activos; diff --git a/server/controller/Prestamo/historial.js b/server/controller/Prestamo/historial.js index e69de29..efe6bbf 100644 --- a/server/controller/Prestamo/historial.js +++ b/server/controller/Prestamo/historial.js @@ -0,0 +1,42 @@ +const validar = require('../../helper/validar'); +const dbPath = '../../db/tablas'; +const Prestamo = require(`${dbPath}/Prestamo`); +const Equipo = require(`${dbPath}/Equipo`); +const Usuario = require(`${dbPath}/Usuario`); +const TipoUsuario = require(`${dbPath}/TipoUsuario`); +const Carrito = require(`${dbPath}/Carrito`); +const Modulo = require(`${dbPath}/Modulo`); +const TipoCarrito = require(`${dbPath}/TipoCarrito`); +const Carrera = require(`${dbPath}/Carrera`); + +const historial = async (body) => { + return Prestamo.findAll({ + include: [ + { + model: Equipo, + include: [ + { + model: Carrito, + include: [{ model: TipoCarrito }, { model: Modulo }], + }, + ], + }, + { model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] }, + ], + }).then((res) => { + for (let i = 0; i < res.length; i++) { + delete res[i].dataValues.idUsuario; + delete res[i].dataValues.idOperadorEntrega; + delete res[i].dataValues.idEquipo; + delete res[i].dataValues.idStatus; + delete res[i].dataValues.Carrito.dataValues.idTipoCarrito; + delete res[i].dataValues.Carrito.dataValues.idModulo; + delete res[i].dataValues.Usuario.dataValues.idTipoUsuario; + delete res[i].dataValues.Usuario.dataValues.idCarrera; + if (res[i].idPrograma) delete res[i].dataValues.idPrograma; + } + return { historial: res }; + }); +}; + +module.exports = historial; diff --git a/server/controller/Prestamo/historialEquipo.js b/server/controller/Prestamo/historialEquipo.js new file mode 100644 index 0000000..62f93bf --- /dev/null +++ b/server/controller/Prestamo/historialEquipo.js @@ -0,0 +1,49 @@ +const validar = require('../../helper/validar'); +const dbPath = '../../db/tablas'; +const Prestamo = require(`${dbPath}/Prestamo`); +const Equipo = require(`${dbPath}/Equipo`); +const Usuario = require(`${dbPath}/Usuario`); +const TipoUsuario = require(`${dbPath}/TipoUsuario`); +const Carrito = require(`${dbPath}/Carrito`); +const Modulo = require(`${dbPath}/Modulo`); +const TipoCarrito = require(`${dbPath}/TipoCarrito`); +const Carrera = require(`${dbPath}/Carrera`); + +const historialEquipo = async (body) => { + let numeroSerie = validar.validarAlfanumerico( + body.numeroSerie, + 'El numero de serie', + 20 + ); + + return Prestamo.findAll({ + include: [ + { + model: Equipo, + where: { numeroSerie }, + include: [ + { + model: Carrito, + include: [{ model: TipoCarrito }, { model: Modulo }], + }, + ], + }, + { model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] }, + ], + }).then((res) => { + for (let i = 0; i < res.length; i++) { + delete res[i].dataValues.idUsuario; + delete res[i].dataValues.idOperadorEntrega; + delete res[i].dataValues.idEquipo; + delete res[i].dataValues.idStatus; + delete res[i].dataValues.Carrito.dataValues.idTipoCarrito; + delete res[i].dataValues.Carrito.dataValues.idModulo; + delete res[i].dataValues.Usuario.dataValues.idTipoUsuario; + delete res[i].dataValues.Usuario.dataValues.idCarrera; + if (res[i].idPrograma) delete res[i].dataValues.idPrograma; + } + return { historialEquipo: res }; + }); +}; + +module.exports = historialEquipo; diff --git a/server/controller/Prestamo/historialUsuario.js b/server/controller/Prestamo/historialUsuario.js index e69de29..e389c37 100644 --- a/server/controller/Prestamo/historialUsuario.js +++ b/server/controller/Prestamo/historialUsuario.js @@ -0,0 +1,48 @@ +const validar = require('../../helper/validar'); +const dbPath = '../../db/tablas'; +const Prestamo = require(`${dbPath}/Prestamo`); +const Equipo = require(`${dbPath}/Equipo`); +const Usuario = require(`${dbPath}/Usuario`); +const TipoUsuario = require(`${dbPath}/TipoUsuario`); +const Carrito = require(`${dbPath}/Carrito`); +const Modulo = require(`${dbPath}/Modulo`); +const TipoCarrito = require(`${dbPath}/TipoCarrito`); +const Carrera = require(`${dbPath}/Carrera`); + +const historialUsuario = async (body) => { + let usuario = validar.validarNumeroCuenta(body.noCuenta); + + return Prestamo.findAll({ + include: [ + { + model: Equipo, + include: [ + { + model: Carrito, + include: [{ model: TipoCarrito }, { model: Modulo }], + }, + ], + }, + { + model: Usuario, + where: { usuario }, + include: [{ model: TipoUsuario }, { model: Carrera }], + }, + ], + }).then((res) => { + for (let i = 0; i < res.length; i++) { + delete res[i].dataValues.idUsuario; + delete res[i].dataValues.idOperadorEntrega; + delete res[i].dataValues.idEquipo; + delete res[i].dataValues.idStatus; + delete res[i].dataValues.Carrito.dataValues.idTipoCarrito; + delete res[i].dataValues.Carrito.dataValues.idModulo; + delete res[i].dataValues.Usuario.dataValues.idTipoUsuario; + delete res[i].dataValues.Usuario.dataValues.idCarrera; + if (res[i].idPrograma) delete res[i].dataValues.idPrograma; + } + return { historialUsuario: res }; + }); +}; + +module.exports = historialUsuario; diff --git a/server/routes/Equipo.js b/server/routes/Equipo.js index 82b0a38..88103c8 100644 --- a/server/routes/Equipo.js +++ b/server/routes/Equipo.js @@ -36,4 +36,5 @@ app.post( .json({ message: 'No se envio un archivo csv para la carga masiva.' }); } ); + module.exports = app; diff --git a/server/routes/Prestamo.js b/server/routes/Prestamo.js index 5724d26..60f8d0a 100644 --- a/server/routes/Prestamo.js +++ b/server/routes/Prestamo.js @@ -2,17 +2,69 @@ const express = require('express'); const app = express(); const { verificaToken } = require('../middleware/autentificacion'); const route = '/prestamo'; -// const login = require('../controller/Prestamo/'); +const controllerPath = '../controller/Prestamo'; +const activos = require(`${controllerPath}/activos`); +const historial = require(`${controllerPath}/historial`); +const historialEquipo = require(`${controllerPath}/activos`); +const historialUsuario = require(`${controllerPath}/historialUsuario`); -// app.post(`${route}/`, (req, res) => { -// return login(req.body) -// .then((data) => { -// res.status(200).json(data); -// }) -// .catch((err) => { -// console.log(err); -// res.status(400).json({ message: err.message }); -// }); -// }); +app.get( + `${route}/activos`, + // verificaToken, + (req, res) => { + return activos(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + console.log(err); + res.status(400).json({ message: err.message }); + }); + } +); +app.get( + `${route}/historial`, + // verificaToken, + (req, res) => { + return historial(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + console.log(err); + res.status(400).json({ message: err.message }); + }); + } +); + +app.get( + `${route}/historial_equipo`, + // verificaToken, + (req, res) => { + return historialEquipo(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + console.log(err); + res.status(400).json({ message: err.message }); + }); + } +); + +app.get( + `${route}/historial_usuario`, + // verificaToken, + (req, res) => { + return historialUsuario(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + console.log(err); + res.status(400).json({ message: err.message }); + }); + } +); module.exports = app; diff --git a/server/routes/index.js b/server/routes/index.js index 36758a6..5c85a95 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -3,6 +3,7 @@ const app = express(); app.use(require('./Operador')); app.use(require('./Usuario')); +app.use(require('./Prestamo')); app.use(require('./Equipo')); app.use(require('./TipoCarrito'));