copy_old_sharelatex_passwords.js 838 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const { db } = require('../app/src/infrastructure/mongojs')
  2. const Async = require('async')
  3. const minimist = require('minimist')
  4. const argv = minimist(process.argv.slice(2))
  5. const limit = argv.limit
  6. if (!limit) {
  7. console.log('Please supply an async limit with --limit')
  8. process.exit(1)
  9. }
  10. db.users.find(
  11. { hashedPassword: { $exists: 1 }, sharelatexHashedPassword: { $exists: 0 } },
  12. { hashedPassword: 1 },
  13. (err, users) => {
  14. if (err) {
  15. throw err
  16. }
  17. Async.eachLimit(
  18. users,
  19. limit,
  20. (user, cb) => {
  21. db.users.update(
  22. { _id: user._id },
  23. { $set: { sharelatexHashedPassword: user.hashedPassword } },
  24. cb
  25. )
  26. },
  27. err => {
  28. if (err) {
  29. throw err
  30. }
  31. console.log('finished')
  32. process.exit(0)
  33. }
  34. )
  35. }
  36. )