]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - scripts/reset-password.ts
Fix incorrect IDs in AP federation
[github/Chocobozzz/PeerTube.git] / scripts / reset-password.ts
index 50e11c69c0195fbe4b7d446e7c0864d0ae5e30d2..6372095d6da633568abb363de8155b39b4eb79c2 100755 (executable)
@@ -1,26 +1,28 @@
-import * as program from 'commander'
+import { registerTSPaths } from '../server/helpers/register-ts-paths'
+registerTSPaths()
 
-import { database as db } from '../server/initializers/database'
+import * as program from 'commander'
+import { initDatabaseModels } from '../server/initializers/database'
+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
+      console.error('Unknown user.')
+      process.exit(-1)
     }
 
     const readline = require('readline')
@@ -38,17 +40,20 @@ db.init(true, function () {
 
     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))
     })
   })
-})
+  .catch(err => {
+    console.error(err)
+    process.exit(-1)
+  })