diff --git a/src/libs/routes/simulation.js b/src/libs/routes/simulation.js index 122a0f85ac77fe8bf0a355bbef8e6bd805507b7a..5d97e5728fb8a9f8b74c35f4f8b0a5d0412a06b9 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) => {