spee.ch/server/task-scripts/update-password.js
2018-03-27 16:08:01 -07:00

44 lines
1.1 KiB
JavaScript

// load dependencies
const logger = require('winston');
const { db } = require('mysqlConfig');
// configure logging
require('../helpers/configureLogger.js')(logger);
const userName = process.argv[2];
logger.debug('user name:', userName);
const oldPassword = process.argv[3];
logger.debug('old password:', oldPassword);
const newPassword = process.argv[4];
logger.debug('new password:', newPassword);
db.sequelize.sync() // sync sequelize
.then(() => {
logger.info('finding user profile');
return db.User.findOne({
where: {
userName: userName,
},
});
})
.then(user => {
if (!user) {
throw new Error('no user found');
}
return Promise.all([
user.comparePassword(oldPassword),
user,
]);
})
.then(([isMatch, user]) => {
if (!isMatch) {
throw new Error('Incorrect old password.');
}
logger.debug('Password was a match, updating password');
return user.changePassword(newPassword);
})
.then(() => {
logger.debug('Password successfully updated');
})
.catch((error) => {
logger.error(error);
});