From 7c635cd3074ce1b47e3f49d5fdbcd96d8c23ce07 Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Thu, 29 Apr 2021 19:43:33 -0500 Subject: [PATCH] endpoints get equipo --- server/controller/Equipo/equipo.js | 35 +++++++++++++++++++++++++++++ server/controller/Equipo/equipos.js | 29 ++++++++++++++++++++++++ server/routes/Equipo.js | 23 ++++++++++++++++++- 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 server/controller/Equipo/equipo.js create mode 100644 server/controller/Equipo/equipos.js diff --git a/server/controller/Equipo/equipo.js b/server/controller/Equipo/equipo.js new file mode 100644 index 0000000..83c9c61 --- /dev/null +++ b/server/controller/Equipo/equipo.js @@ -0,0 +1,35 @@ +const validar = require('../../helper/validar'); +const Carrito = require('../../db/tablas/Carrito'); +const Equipo = require('../../db/tablas/Equipo'); +const Modulo = require('../../db/tablas/Modulo'); +const Programa = require('../../db/tablas/Programa'); +const Status = require('../../db/tablas/Status'); +const TipoCarrito = require('../../db/tablas/TipoCarrito'); + +const get = async (body) => { + let numeroSerie = validar.validarAlfanumerico( + body.numeroSerie, + 'El numero de serie', + 20 + ); + + return Equipo.findOne({ + where: { numeroSerie }, + include: [ + { model: Carrito, include: [{ model: TipoCarrito }, { model: Modulo }] }, + { model: Status }, + { model: Programa }, + ], + }).then((res) => { + if (!res) throw new Error('No existe este equipo.'); + delete res.dataValues.idCarrito; + delete res.dataValues.idPrograma; + delete res.dataValues.idStatus; + delete res.dataValues.Carrito.dataValues.idTipoCarrito; + delete res.dataValues.Carrito.dataValues.idModulo; + if (!res.Programa) delete res.dataValues.Programa; + return res; + }); +}; + +module.exports = get; diff --git a/server/controller/Equipo/equipos.js b/server/controller/Equipo/equipos.js new file mode 100644 index 0000000..a9ae35f --- /dev/null +++ b/server/controller/Equipo/equipos.js @@ -0,0 +1,29 @@ +const validar = require('../../helper/validar'); +const Carrito = require('../../db/tablas/Carrito'); +const Equipo = require('../../db/tablas/Equipo'); +const Modulo = require('../../db/tablas/Modulo'); +const Programa = require('../../db/tablas/Programa'); +const Status = require('../../db/tablas/Status'); +const TipoCarrito = require('../../db/tablas/TipoCarrito'); + +const get = async (body) => { + return Equipo.findAll({ + include: [ + { model: Carrito, include: [{ model: TipoCarrito }, { model: Modulo }] }, + { model: Status }, + { model: Programa }, + ], + }).then((res) => { + for (let i = 0; i < res.length; i++) { + delete res[i].dataValues.idCarrito; + delete res[i].dataValues.idPrograma; + delete res[i].dataValues.idStatus; + delete res[i].dataValues.Carrito.dataValues.idTipoCarrito; + delete res[i].dataValues.Carrito.dataValues.idModulo; + if (!res[i].Programa) delete res[i].dataValues.Programa; + } + return res; + }); +}; + +module.exports = get; diff --git a/server/routes/Equipo.js b/server/routes/Equipo.js index 88103c8..880c01d 100644 --- a/server/routes/Equipo.js +++ b/server/routes/Equipo.js @@ -5,6 +5,8 @@ const upload = multer({ dest: 'server/uploads' }); const { verificaToken } = require('../middleware/autentificacion'); const route = '/equipo'; const cargaMasiva = require('../controller/Equipo/cargaMasiva'); +const equipo = require('../controller/Equipo/equipo'); +const equipos = require('../controller/Equipo/equipos'); // app.post(`${route}/`, (req, res) => { // return login(req.body) @@ -12,7 +14,6 @@ const cargaMasiva = require('../controller/Equipo/cargaMasiva'); // res.status(200).json(data); // }) // .catch((err) => { -// console.log(err); // res.status(400).json({ message: err.message }); // }); // }); @@ -37,4 +38,24 @@ app.post( } ); +app.get(`${route}/`, (req, res) => { + return equipo(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + +app.get(`${route}/equipos`, (req, res) => { + return equipos(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + module.exports = app;