File size: 1,446 Bytes
97f53b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
var express = require('express');
var router = express.Router();
var app = express();
var User = require('../Database/models/user');
const bcrypt = require("bcrypt");
const { successResponse, failedResponse } = require('../utils/responseModel');

router.post('/', async function (req, res, next) {

    var newPassword = req.body.newPassword;
    var cnfrmNewPassword = req.body.cnfrmNewPassword;

    // generate salt to hash password
    const salt = await bcrypt.genSalt(10);
    // now we set user password to hashed password
    const password = await bcrypt.hash(newPassword, salt);

    const updateOps = {
        password: password,
        passwordConf: cnfrmNewPassword
    };
    console.log(updateOps);
    try {
        const { email } = req.body;
        // Find the user by email
        const user = await User.findOne({ email: email }).exec();

        if (user) {
            // Update the user's password
            await User.updateOne({ email: user.email }, { $set: updateOps }).exec();
            res.status(200).send(successResponse("Password changed successfully!"));
        } else {
            res.status(201).send(failedResponse("Email not registered!", 400));
        }
    } catch (err) {
        console.error(err);
        res.status(500).send(failedResponse(err.message, 500));
    }

    // }
    //  else {
    //     res.send(failedResponse("Password not matched"));
    // }

});


module.exports = router;