diff --git a/server/controller/Programa/programasAdmin.js b/server/controller/Programa/programasAdmin.js new file mode 100644 index 0000000..2f4613a --- /dev/null +++ b/server/controller/Programa/programasAdmin.js @@ -0,0 +1,22 @@ +const validar = require('../../helper/validar'); +const Programa = require('../../db/tablas/Programa'); +const Usuario = require('../../db/tablas/Usuario'); + +const programasAdmin = async (body) => { + let idUsuario = validar.validarId(body.idUsuario); + + return Usuario.findOne({ + where: { idUsuario }, + }) + .then((res) => { + if (!res) throw new Error('No existe este usuario.'); + if (res.idTipoUsuario != 2) + throw new Error('No es un usuario de tipo responsable'); + return Programa.findAll({ + where: { idUsuario }, + }); + }) + .then((res) => res); +}; + +module.exports = programasAdmin; diff --git a/server/controller/Programa/get.js b/server/controller/Programa/programasResponsable.js similarity index 83% rename from server/controller/Programa/get.js rename to server/controller/Programa/programasResponsable.js index d0dabaa..6eebd78 100644 --- a/server/controller/Programa/get.js +++ b/server/controller/Programa/programasResponsable.js @@ -2,7 +2,7 @@ const validar = require('../../helper/validar'); const Programa = require('../../db/tablas/Programa'); const Usuario = require('../../db/tablas/Usuario'); -const get = async (body) => { +const programasResponsable = async (body) => { let idUsuario = validar.validarId(body.idUsuario); return Usuario.findOne({ @@ -16,9 +16,7 @@ const get = async (body) => { where: { idUsuario, activo: true }, }); }) - .then((res) => { - return res; - }); + .then((res) => res); }; -module.exports = get; +module.exports = programasResponsable; diff --git a/server/routes/Programa.js b/server/routes/Programa.js index 33fcd4c..27874a7 100644 --- a/server/routes/Programa.js +++ b/server/routes/Programa.js @@ -4,11 +4,22 @@ const app = express(); const upload = multer({ dest: 'server/uploads' }); const { verificaToken } = require('../middleware/autentificacion'); const route = '/programa'; -const get = require('../controller/Programa/get'); +const programasResponsable = require('../controller/Programa/programasResponsable'); +const programasAdmin = require('../controller/Programa/programasAdmin'); const cargaMasiva = require('../controller/Programa/cargaMasiva'); app.get(`${route}`, verificaToken, (req, res) => { - return get(req.query) + return programasResponsable(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + +app.get(`${route}/programas_admin`, verificaToken, (req, res) => { + return programasAdmin(req.query) .then((data) => { res.status(200).json(data); })