diff --git a/server/controller/Grupo/get.js b/server/controller/Grupo/get.js new file mode 100644 index 0000000..e5d56b1 --- /dev/null +++ b/server/controller/Grupo/get.js @@ -0,0 +1,22 @@ +const { Op } = require('sequelize'); +const { validarId } = require('../../helper/validar'); +const dbPath = '../../db/tablas'; +const Carrera = require(`${dbPath}/Carrera`); +const Grupo = require(`${dbPath}/Grupo`); + +const admin = async (body) => { + const idCarrera = validarId(body.idCarrera); + + return Carrera.findOne({ where: { idCarrera } }) + .then((res) => { + if (!res) throw new Error('No existe esta carrera.'); + return Grupo.findAll({ + where: { idCarrera, grupo: { [Op.like]: '11%' } }, + }); + }) + .then((res) => { + return res; + }); +}; + +module.exports = admin; diff --git a/server/routes/Carrera.js b/server/routes/Carrera.js index 7f3f42c..68f1dd9 100644 --- a/server/routes/Carrera.js +++ b/server/routes/Carrera.js @@ -5,7 +5,7 @@ const controllerPath = '../controller/Carrera'; const get = require(`${controllerPath}/get`); app.get(`${route}`, (req, res) => { - return get(req.body) + return get() .then((data) => { res.status(200).json(data); }) diff --git a/server/routes/Grupo.js b/server/routes/Grupo.js new file mode 100644 index 0000000..35f2caa --- /dev/null +++ b/server/routes/Grupo.js @@ -0,0 +1,17 @@ +const express = require('express'); +const app = express(); +const route = '/grupo'; +const controllerPath = '../controller/Grupo'; +const get = require(`${controllerPath}/get`); + +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; diff --git a/server/routes/index.js b/server/routes/index.js index 99936e8..be0e9cc 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -2,5 +2,6 @@ const express = require('express'); const app = express(); app.use(require('./Carrera')); +app.use(require('./Grupo')); module.exports = app;