diff --git a/controllers/userController.js b/controllers/userController.js index 196ed3b..4cc26a5 100644 --- a/controllers/userController.js +++ b/controllers/userController.js @@ -1,4 +1,4 @@ -const config = require("../config/config") +const config = require("../config/config"); const users = require("../model/userModel"); const bcrypt = require("bcryptjs"); const jwt = require("jsonwebtoken"); @@ -57,7 +57,10 @@ exports.changePass = async (req, res) => { await users.updateOne(email, { password: spassword, }); - res.send({ status: "true", message: "password updated" }); + res.send({ + status: "true", + message: "password reset successfully", + }); } } else { req.send({ status: "failed", message: "All fields are required" }); @@ -66,3 +69,55 @@ exports.changePass = async (req, res) => { } ); }; +exports.forgetPass = async (req, res) => { + const { password, new_password, email } = req.body; + const userData = await users.findOne({ email: email }); + if (userData) { + if (password && new_password) { + if (password !== new_password) { + res.send({ status: "failed", message: "password dose not match" }); + } else { + const salt = 10; + const spassword = await bcrypt.hash(password, salt); + + await users.updateOne( + { email }, + { + password: spassword, + } + ); + res.send({ status: "true", message: "password updated" }); + } + } else { + req.send({ status: "failed", message: "All fields are required" }); + } + } else { + res.send("account dosen't exist"); + } +}; + +exports.updateuser = async (req, res) => { + const { email } = jwt.verify( + req.token, + config.secretKey, + async (err, authData) => { + if (err) { + res.send({ result: "invalid token" }); + } + } + ); + const { username, firstname, lastname, password, mobile, uemail, address } = req.body; + const salt = 10; + const spassword = await bcrypt.hash(password, salt); + + await users.updateOne(email, { + username: username, + firstname: firstname, + lastname: lastname, + password: spassword, + mobile: mobile, + email: uemail, + address: address, + }); + res.send({ status: "true", message: "user updated successfully" }); +}; diff --git a/routes/register.js b/routes/register.js index 5bacd49..2d1af6f 100644 --- a/routes/register.js +++ b/routes/register.js @@ -7,9 +7,12 @@ const userController = require("../controllers/userController") // Route level middleware router.use('/changePassword',mid_register.checkAuth) +router.use('/updateuser',mid_register.checkAuth) -router.post("/register",mid_register.REG_MIDDLE,userController.register_user); +router.get("/register",mid_register.REG_MIDDLE,userController.register_user); router.post("/auth/signin",userController.login_user); -router.post("/changePassword",userController.changePass); +router.put("/changePassword",userController.changePass); +router.put("/forgetPassword",userController.forgetPass); +router.put("/updateuser",userController.updateuser); module.exports=router; \ No newline at end of file