]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - scripts/reset-password.js
5ae3af9ea93be524869f52a2dbe958625d5a1ee9
[github/Chocobozzz/PeerTube.git] / scripts / reset-password.js
1 #!/usr/bin/env node
2
3 'use strict'
4
5 // TODO: document this script
6
7 const program = require('commander')
8
9 const db = require('../server/initializers/database')
10
11 program
12 .option('-u, --user [user]', 'User')
13 .parse(process.argv)
14
15 if (program.user === undefined) {
16 console.error('All parameters are mandatory.')
17 process.exit(-1)
18 }
19
20 db.init(true, function () {
21 db.User.loadByUsername(program.user, function (err, user) {
22 if (err) {
23 console.error(err)
24 return
25 }
26
27 if (!user) {
28 console.error('User unknown.')
29 return
30 }
31
32 const readline = require('readline')
33 const Writable = require('stream').Writable
34 const mutableStdout = new Writable({
35 write: function (chunk, encoding, callback) {
36 callback()
37 }
38 })
39 const rl = readline.createInterface({
40 input: process.stdin,
41 output: mutableStdout,
42 terminal: true
43 })
44
45 console.log('New password?')
46 rl.on('line', function (password) {
47 user.password = password
48
49 user.save().asCallback(function (err) {
50 if (err) {
51 console.error(err)
52 } else {
53 console.log('User password updated.')
54 }
55
56 process.exit(0)
57 })
58 })
59 })
60 })