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