From 78c3a3dd698e4b1c00cf13e911834db228a5c29b Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Tue, 14 Nov 2017 10:41:42 -0200 Subject: [PATCH] [ci skip] Add pqr routes --- src/libs/routes/simulation.js | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/libs/routes/simulation.js b/src/libs/routes/simulation.js index 122a0f85..5d97e572 100644 --- a/src/libs/routes/simulation.js +++ b/src/libs/routes/simulation.js @@ -14,6 +14,8 @@ const response = require(`${libs}/middlewares/response`); const Simulation = require(`${libs}/models/simulation`); +const PQR = require(`${libs}/models/pqr`); + const passport = require('passport'); simulationApp.get('/time', (req, res, next) => { @@ -31,6 +33,42 @@ simulationApp.get('/time', (req, res, next) => { }); }); +simulationApp.get('/pqr', (req, res) => { + PQR.findOne((err, pqr) => { + if(err) { + log.error(err); + return next({err}); + } + + res.json(pqr); + }); +}); + +simulationApp.put('/pqr', passport.authenticate('bearer', { session: false }), (req, res, next) => { + let user = req.user.toObject(); + + PQR.findOne((err, pqr) => { + if(err) { + log.error(err) + return next({err}); + } + + if(!user.admin) { + log.info(`Usuário ${user.email} tentou alterar o PQR, mas não tem privilégio`); + res.statusCode = 401; + return next({err: { msg: 'Unauthorized'}}); + } + pqr.content = req.body.content | pqr.content; + pqr.save((err) => { + if(err) { + log.error(err); + return next({err}); + } + res.json({msg: 'PQR updated'}) + }); + }); +}); + simulationApp.get('/', passport.authenticate('bearer', { session: false }), (req, res) => { let user = req.user.toObject(); Simulation.find({userId: user._id}, (err, simulations) => { -- GitLab