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