X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Freset-password.ts;h=b2e5639fb6f234437dddc501c88601bfc54c7dff;hb=2cca5f5f22b1b519b600854134b954f90ccfb9a9;hp=09f27bfa49b043fb406c57b872caa9322a584e7a;hpb=6fcd19ba737f1f5614a56c6925adb882dea43b8d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/reset-password.ts b/scripts/reset-password.ts index 09f27bfa4..b2e5639fb 100755 --- a/scripts/reset-password.ts +++ b/scripts/reset-password.ts @@ -1,30 +1,33 @@ -import * as program from 'commander' - -import { database as db } from '../server/initializers/database' +import { program } from 'commander' +import { isUserPasswordValid } from '../server/helpers/custom-validators/users' +import { initDatabaseModels } from '../server/initializers/database' +import { UserModel } from '../server/models/user/user' program .option('-u, --user [user]', 'User') .parse(process.argv) -if (program.user === undefined) { +const options = program.opts() + +if (options.user === undefined) { console.error('All parameters are mandatory.') process.exit(-1) } -db.init(true) +initDatabaseModels(true) .then(() => { - return db.User.loadByUsername(program.user) + return UserModel.loadByUsername(options.user) }) .then(user => { if (!user) { - console.error('User unknown.') - return + console.error('Unknown user.') + process.exit(-1) } const readline = require('readline') const Writable = require('stream').Writable const mutableStdout = new Writable({ - write: function (chunk, encoding, callback) { + write: function (_chunk, _encoding, callback) { callback() } }) @@ -36,6 +39,11 @@ db.init(true) console.log('New password?') rl.on('line', function (password) { + if (!isUserPasswordValid(password)) { + console.error('New password is invalid.') + process.exit(-1) + } + user.password = password user.save() @@ -44,3 +52,7 @@ db.init(true) .finally(() => process.exit(0)) }) }) + .catch(err => { + console.error(err) + process.exit(-1) + })