From 2f184b19943f68c4e57e038e5bfb584415a8c32a Mon Sep 17 00:00:00 2001
From: Lucas Gabriel Lima <lgl15@inf.ufpr.br>
Date: Tue, 18 Oct 2016 10:38:29 -0200
Subject: [PATCH] checks for informed email and CPF on db before saving new
 user

---
 src/libs/routes/user.js | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js
index 9ba9be45..9b24fbdc 100644
--- a/src/libs/routes/user.js
+++ b/src/libs/routes/user.js
@@ -97,6 +97,32 @@ userApp.post('/', (req, res, next) => {
         next();
     }
 
+}, (req, res, next) => {
+    User.count({'email': req.body.email}, function(err, count){
+        if (err){
+            console.log('MongoDB error: ' + err);
+            res.json({success: false, msg: 'Um erro ocorreu no banco de dados.'});
+        }
+        if(count){
+            res.json({success: false, msg: 'O email informado já está cadastrado.'});
+        } else {
+            next();
+        }
+    });
+
+}, (req, res, next) => {
+    User.count({'cpf': req.body.cpf}, function(err, count){
+        if (err){
+            console.log('MongoDB error: ' + err);
+            res.json({success: false, msg: 'Um erro ocorreu no banco de dados.'});
+        }
+        if(count){
+            res.json({success: false, msg: 'O CPF informado já está cadastrado.'});
+        } else {
+            next();
+        }
+    });
+
 }, (req, res, next) => {
     var newUser = new User({
         email: req.body.email,
@@ -116,8 +142,7 @@ userApp.post('/', (req, res, next) => {
     // save the user
     newUser.save((err) => {
         if (err) {
-            //no momento retorna essa mensagem se o email OU CPF já estiver cadastrado
-            res.json({success: false, msg: 'O email informado já está cadastrado.'});
+            res.json({success: false, msg: 'Um erro ocorreu no banco de dados.'});
         } else {
             res.json({success: true, msg: 'Usuário cadastrado com sucesso!'});
         }
-- 
GitLab