Do not let admin put password on cli argument when reseting password

pull/40/head
Chocobozzz 2017-01-23 22:50:29 +01:00
parent b99290b1d5
commit c129e2a167
1 changed files with 25 additions and 9 deletions

View File

@ -10,10 +10,9 @@ const db = require('../server/initializers/database')
program program
.option('-u, --user [user]', 'User') .option('-u, --user [user]', 'User')
.option('-p, --password [new password]', 'New password')
.parse(process.argv) .parse(process.argv)
if (program.user === undefined || program.password === undefined) { if (program.user === undefined) {
console.error('All parameters are mandatory.') console.error('All parameters are mandatory.')
process.exit(-1) process.exit(-1)
} }
@ -30,15 +29,32 @@ db.init(true, function () {
return return
} }
user.password = program.password const readline = require('readline')
user.save().asCallback(function (err) { const Writable = require('stream').Writable
if (err) { const mutableStdout = new Writable({
console.error(err) write: function (chunk, encoding, callback) {
return callback()
} }
})
const rl = readline.createInterface({
input: process.stdin,
output: mutableStdout,
terminal: true
})
console.log('User pasword updated.') console.log('New password?')
process.exit(0) rl.on('line', function (password) {
user.password = password
user.save().asCallback(function (err) {
if (err) {
console.error(err)
} else {
console.log('User password updated.')
}
process.exit(0)
})
}) })
}) })
}) })