import * as program from 'commander'
-
-import { database as db } from '../server/initializers/database'
+import { initDatabaseModels } from '../server/initializers'
+import { UserModel } from '../server/models/account/user'
+import { isUserPasswordValid } from '../server/helpers/custom-validators/users'
program
.option('-u, --user [user]', 'User')
.parse(process.argv)
-if (program.user === undefined) {
+if (program['user'] === undefined) {
console.error('All parameters are mandatory.')
process.exit(-1)
}
-db.init(true, function () {
- db.User.loadByUsername(program.user, function (err, user) {
- if (err) {
- console.error(err)
- return
- }
-
+initDatabaseModels(true)
+ .then(() => {
+ return UserModel.loadByUsername(program['user'])
+ })
+ .then(user => {
if (!user) {
console.error('User unknown.')
- return
+ process.exit(-1)
}
const readline = require('readline')
console.log('New password?')
rl.on('line', function (password) {
- user.password = password
+ if (!isUserPasswordValid(password)) {
+ console.error('New password is invalid.')
+ process.exit(-1)
+ }
- user.save().asCallback(function (err) {
- if (err) {
- console.error(err)
- } else {
- console.log('User password updated.')
- }
+ user.password = password
- process.exit(0)
- })
+ user.save()
+ .then(() => console.log('User password updated.'))
+ .catch(err => console.error(err))
+ .finally(() => process.exit(0))
})
})
-})