Server: add script that reset the password of a user
authorChocobozzz <florian.bigard@gmail.com>
Sun, 15 Jan 2017 09:05:53 +0000 (10:05 +0100)
committerChocobozzz <florian.bigard@gmail.com>
Sun, 15 Jan 2017 09:05:53 +0000 (10:05 +0100)
scripts/reset-password.js [new file with mode: 0755]

diff --git a/scripts/reset-password.js b/scripts/reset-password.js
new file mode 100755 (executable)
index 0000000..e5f59a2
--- /dev/null
@@ -0,0 +1,45 @@
+#!/usr/bin/env node
+
+'use strict'
+
+// TODO: document this script
+
+const program = require('commander')
+
+const constants = require('../server/initializers/constants')
+const db = require('../server/initializers/database')
+
+program
+  .option('-u, --user [user]', 'User')
+  .option('-p, --password [new password]', 'New password')
+  .parse(process.argv)
+
+if (program.user === undefined || program.password === 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
+    }
+
+    user.password = program.password
+    user.save().asCallback(function (err) {
+      if (err) {
+        console.error(err)
+        return
+      }
+
+      console.log('User pasword updated.')
+      process.exit(0)
+    })
+  })
+})