From 6ffec1beb84a3b889c806356fb83f6a3bc248c6c Mon Sep 17 00:00:00 2001 From: "Lemuel H. Marquez Rosas" Date: Sun, 4 Oct 2020 23:29:58 -0500 Subject: [PATCH] get plantel y carreras --- src/controller/carrera/get.js | 32 ++++++++++++++++++++++++++------ src/controller/plantel/get.js | 8 +++----- src/routes/carrera.js | 14 ++++++++++++++ src/routes/index.js | 2 ++ src/routes/plantel.js | 14 ++++++++++++++ 5 files changed, 59 insertions(+), 11 deletions(-) diff --git a/src/controller/carrera/get.js b/src/controller/carrera/get.js index 5820b4e..162ed5c 100644 --- a/src/controller/carrera/get.js +++ b/src/controller/carrera/get.js @@ -1,17 +1,37 @@ +const validador = require('../validador') const Carrera = require('../../db/tables/Carrera') const CarreraPlantel = require('../../db/tables/CarreraPlantel') +const Plantel = require('../../db/tables/Plantel') const get = async (body) => { - return CarreraPlantel.findAll({ + let idPlantel = await validador.validarId(body.idPlantel).then((res) => res) + let busquedaCarrera = { where: { idPlantel: body.idPlantel }, include: [{ model: Carrera }], - }) + } + let busquedaPlantel = { where: idPlantel } + + return Plantel.findOne(busquedaPlantel) .then((res) => { - return res + if (!res) validador.error('El plantel no existe.', 400) + return CarreraPlantel.findAll(busquedaCarrera) + }) + .then((res) => { + let data = [] + + for (let i = 0; i < res.length; i++) { + let carrera = { + idCarreraPlantel: res[i].idCarreraPlantel, + Carrera: { + idCarrera: res[i].Carrera.idCarrera, + carrera: res[i].Carrera.carrera, + nivel: res[i].Carrera.nivel, + }, + } + data.push(carrera) + } + return { code: 200, data } }) - .catch((err) => {}) } module.exports = get - -// get({ idPlantel: 240 }) diff --git a/src/controller/plantel/get.js b/src/controller/plantel/get.js index 3d33b97..6aa51f9 100644 --- a/src/controller/plantel/get.js +++ b/src/controller/plantel/get.js @@ -1,11 +1,9 @@ const Plantel = require('../../db/tables/Plantel') const get = async () => { - return Plantel.findAll() - .then((res) => { - return res - }) - .catch((err) => {}) + return Plantel.findAll().then((res) => { + return { code: 200, data: res } + }) } module.exports = get diff --git a/src/routes/carrera.js b/src/routes/carrera.js index e69de29..36c6fca 100644 --- a/src/routes/carrera.js +++ b/src/routes/carrera.js @@ -0,0 +1,14 @@ +const express = require('express') +const app = express() +const get = require('../controller/carrera/get') +const route = '/carrera' + +app.get(`${route}`, (req, res) => { + return get(req.query) + .then((data) => { + res.status(data.code).json(data.data) + }) + .catch((err) => res.status(err.code).json({ err: err.message })) +}) + +module.exports = app diff --git a/src/routes/index.js b/src/routes/index.js index e9c52e5..2a1f04d 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -3,5 +3,7 @@ const app = express() // app.use(require('./')) app.use(require('./usuario')) +app.use(require('./plantel')) +app.use(require('./carrera')) module.exports = app diff --git a/src/routes/plantel.js b/src/routes/plantel.js index e69de29..c53b00e 100644 --- a/src/routes/plantel.js +++ b/src/routes/plantel.js @@ -0,0 +1,14 @@ +const express = require('express') +const app = express() +const get = require('../controller/plantel/get') +const route = '/plantel' + +app.get(`${route}`, (req, res) => { + return get() + .then((data) => { + res.status(data.code).json(data.data) + }) + .catch((err) => res.status(err.code).json({ err: err.message })) +}) + +module.exports = app