12_update_token_email.js 737 B

1234567891011121314151617181920212223242526272829
  1. const Settings = require('settings-sharelatex')
  2. const mongojs = require('mongojs')
  3. const db = mongojs(Settings.mongo.url, ['tokens'])
  4. // eslint-disable-next-line import/no-extraneous-dependencies
  5. const async = require('async')
  6. exports.migrate = (client, done) => {
  7. console.log(`>> Updating 'data.email' to lower case in tokens`)
  8. db.tokens.find({}, { 'data.email': 1 }, (err, tokens) => {
  9. if (err) {
  10. return done(err)
  11. }
  12. async.eachSeries(
  13. tokens,
  14. (token, callback) => {
  15. db.tokens.update(
  16. { _id: token._id },
  17. { $set: { 'data.email': token.data.email.toLowerCase() } },
  18. callback
  19. )
  20. },
  21. done
  22. )
  23. })
  24. }
  25. exports.rollback = (client, done) => done()