From dcb68d62e0cea63bc0b22a8f5423e717ca29c149 Mon Sep 17 00:00:00 2001 From: Gabriel Ruschel <grc15@inf.ufpr.br> Date: Thu, 14 Dec 2017 14:36:45 -0200 Subject: [PATCH] Password change on update --- src/libs/routes/user.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js index 898e7107..c0bdd91a 100644 --- a/src/libs/routes/user.js +++ b/src/libs/routes/user.js @@ -208,6 +208,8 @@ userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, r }}); } + console.log(req.body); + user.email = req.body.email || user.email; user.name = req.body.name || user.name; user.nickname = req.body.nickname || user.nickname || user.name; @@ -226,6 +228,23 @@ userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, r user.citesegment = req.body.citesegment || user.citesegment; user.citerole = req.body.citerole || user.citerole; + // console.log(user.checkPassword(req.body.password)); + if ((req.body.password) && (req.body.newpassword)) { + if (req.body.password != req.body.newpassword) { + if (user.checkPassword(req.body.password)) { + user.password = req.body.newpassword; + } else { + return next({err: { + message: 'A senha atual está incorreta' + }}); + } + } else { + return next({err: { + message: 'A nova senha é a mesma da senha atual' + }}); + } + } + user.save(err => { if(err) { log.error(err); @@ -235,7 +254,7 @@ userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, r delete u.hashedPassword; delete u.salt; res.json({user: u}); - }) + }) }) }); -- GitLab