commonroutesServer/resetPassword.js
resetPassword.jsRaw
1/*
2script to reset password for a user
3*/
4
5var config = require('./config');
6var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens
7var crypto = require('crypto');
8
9var mongoose = require('mongoose');
10
11mongoose.Promise = global.Promise;
12// Connection to DB
13mongoose.connect(config.database, function(err, res) {
14 if (err) {
15 console.log(err);
16 };
17 console.log('Connected to Database');
18});
19
20var userMdl = require('./models/userModel');
21var userModel = mongoose.model('userModel');
22
23var readlineSync = require('readline-sync');
24
25
26
27console.log("Welcome to Common Routes");
28console.log("----------");
29console.log("This is the resetPassword.js");
30
31
32var username = readlineSync.question('Enter the username: ');
33if ((username == "")) {
34 console.log("username can't be empty");
35 process.exit(0);
36}
37
38console.log('Hi ' + username + '!');
39
40
41var clearPassword = readlineSync.question('Enter the new password: ', {
42 hideEchoBack: true // The typed text on screen is hidden by `*` (default).
43});
44var clearPassword2 = readlineSync.question('Enter the new password again: ', {
45 hideEchoBack: true // The typed text on screen is hidden by `*` (default).
46});
47if (clearPassword != clearPassword2) {
48 console.log("passwords don't match");
49 process.exit(0);
50}
51if (clearPassword == "undefined") {
52 console.log("Password can't be empty");
53 process.exit(0);
54}
55/*if (clearPassword.length < 10) {
56 console.log("Please, choose a password with more than 10 characters");
57 process.exit(0);
58}*/
59
60
61var newPassword = crypto.createHash('sha256').update(clearPassword).digest('base64')
62console.log(newPassword);
63userModel.findOne({
64 username: username
65 })
66 .select('+password')
67 .exec(function(err, user) {
68 if (err) {
69 console.log(err);
70 process.exit(0);
71 }
72 console.log(user);
73
74 if (!user) {
75 console.log("user not found");
76 process.exit(0);
77 } else if (user) {
78 user.password = newPassword;
79 user.save(function(err, user) {
80 if (err) {
81 console.log(err);
82 process.exit(0);
83 }
84
85 console.log("password successfully changed");
86 process.exit(0);
87 });
88 }
89
90 });