Merge pull request #1859 from overleaf/spd-sl-user-password-copy

Copy old SL hashed passwords to a new field

GitOrigin-RevId: 28e7ff57e8753a1e887c54e9ed63cb17984e2fd4
This commit is contained in:
Simon Detheridge 2019-06-18 09:36:04 +01:00 committed by sharelatex
parent 3ce74a3877
commit 93386bcb8c
2 changed files with 43 additions and 0 deletions

View file

@ -97,6 +97,9 @@ const UserSchema = new Schema({
default: Settings.defaultFeatures.referencesSearch default: Settings.defaultFeatures.referencesSearch
} }
}, },
// when auto-merged from SL and must-reconfirm is set, we may end up using
// `sharelatexHashedPassword` to recover accounts...
sharelatexHashedPassword: String,
must_reconfirm: { type: Boolean, default: false }, must_reconfirm: { type: Boolean, default: false },
referal_id: { referal_id: {
type: String, type: String,

View file

@ -0,0 +1,40 @@
const { db } = require('../app/src/infrastructure/mongojs')
const Async = require('async')
const minimist = require('minimist')
const argv = minimist(process.argv.slice(2))
const limit = argv.limit
if (!limit) {
console.log('Please supply an async limit with --limit')
process.exit(1)
}
db.users.find(
{ hashedPassword: { $exists: 1 }, sharelatexHashedPassword: { $exists: 0 } },
{ hashedPassword: 1 },
(err, users) => {
if (err) {
throw err
}
Async.eachLimit(
users,
limit,
(user, cb) => {
db.users.update(
{ _id: user._id },
{ $set: { sharelatexHashedPassword: user.hashedPassword } },
cb
)
},
err => {
if (err) {
throw err
}
console.log('finished')
process.exit(0)
}
)
}
)