remove_password_fields_from_migrated_users.js 997 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const { db } = require('../app/src/infrastructure/mongojs')
  2. const minimist = require('minimist')
  3. const argv = minimist(process.argv.slice(2))
  4. const commit = argv.commit !== undefined
  5. if (!commit) {
  6. console.log('DOING DRY RUN. TO SAVE CHANGES PASS --commit')
  7. }
  8. function main(callback) {
  9. const query = { 'overleaf.id': { $exists: true } }
  10. db.users.count(query, (err, result) => {
  11. if (err) {
  12. return callback(err)
  13. }
  14. console.log(`>> Count: ${result}`)
  15. if (!commit) {
  16. return callback()
  17. }
  18. db.users.update(
  19. query,
  20. { $unset: { hashedPassword: 1 } },
  21. { multi: true },
  22. (err, result) => {
  23. if (err) {
  24. return callback(err)
  25. }
  26. console.log(`>> Updated users: ${JSON.stringify(result)}`)
  27. return callback()
  28. }
  29. )
  30. })
  31. }
  32. if (require.main === module) {
  33. main(err => {
  34. if (err) {
  35. console.error(err)
  36. return process.exit(1)
  37. }
  38. console.log('>> done')
  39. process.exit(0)
  40. })
  41. }