From 75d612ce3ca9d6f69fe8e4e83dc3070d9ab56615 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 12 Jun 2017 21:06:32 +0200 Subject: Convert scripts to typescript --- scripts/reset-password.ts | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 scripts/reset-password.ts (limited to 'scripts/reset-password.ts') diff --git a/scripts/reset-password.ts b/scripts/reset-password.ts new file mode 100755 index 000000000..50e11c69c --- /dev/null +++ b/scripts/reset-password.ts @@ -0,0 +1,54 @@ +import * as program from 'commander' + +import { database as db } from '../server/initializers/database' + +program + .option('-u, --user [user]', 'User') + .parse(process.argv) + +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 + } + + if (!user) { + console.error('User unknown.') + return + } + + const readline = require('readline') + const Writable = require('stream').Writable + const mutableStdout = new Writable({ + write: function (chunk, encoding, callback) { + callback() + } + }) + const rl = readline.createInterface({ + input: process.stdin, + output: mutableStdout, + terminal: true + }) + + console.log('New password?') + 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) + }) + }) + }) +}) -- cgit v1.2.3