|
|
@@ -1,71 +0,0 @@
|
|
|
-const { db } = require('../app/js/infrastructure/mongojs')
|
|
|
-const FeaturesUpdater = require('../app/js/Features/Subscription/FeaturesUpdater')
|
|
|
-const V1SubscriptionManager = require('../app/js/Features/Subscription/V1SubscriptionManager')
|
|
|
-const async = require('async')
|
|
|
-const logger = require('logger-sharelatex')
|
|
|
-logger.logger.level('error')
|
|
|
-
|
|
|
-const areFeaturesEqual = function(featuresA, featuresB) {
|
|
|
- for (const feature in featuresA) {
|
|
|
- if (featuresA[feature] !== featuresB[feature]) {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- return true
|
|
|
-}
|
|
|
-
|
|
|
-var outOfSyncUserCount = 0
|
|
|
-var userCount = null
|
|
|
-
|
|
|
-db.users.find(
|
|
|
- {
|
|
|
- 'overleaf.id': { $exists: true }
|
|
|
- },
|
|
|
- {
|
|
|
- overleaf: 1,
|
|
|
- features: 1
|
|
|
- },
|
|
|
- function(error, users) {
|
|
|
- if (error) throw error
|
|
|
- console.log('USER COUNT', (userCount = users.length))
|
|
|
- async.mapSeries(
|
|
|
- users,
|
|
|
- function(user, callback) {
|
|
|
- console.log('REFRESHING IN v2', user._id)
|
|
|
- FeaturesUpdater.refreshFeatures(user._id, false, function(error) {
|
|
|
- if (error) console.error('ERROR', error)
|
|
|
- console.log('REFRESHING IN v1', user._id)
|
|
|
- V1SubscriptionManager.notifyV1OfFeaturesChange(user._id, function(
|
|
|
- error
|
|
|
- ) {
|
|
|
- if (error) console.error('ERROR', error)
|
|
|
- db.users.find(
|
|
|
- {
|
|
|
- _id: user._id
|
|
|
- },
|
|
|
- {
|
|
|
- features: 1
|
|
|
- },
|
|
|
- function(error, [updatedUser]) {
|
|
|
- if (error) throw error
|
|
|
- if (areFeaturesEqual(user.features, updatedUser.features)) {
|
|
|
- console.log('UNCHANGED', user._id)
|
|
|
- } else {
|
|
|
- console.log('MODIFIED', user._id)
|
|
|
- outOfSyncUserCount = outOfSyncUserCount + 1
|
|
|
- }
|
|
|
- callback()
|
|
|
- }
|
|
|
- )
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- function(error) {
|
|
|
- if (error) throw error
|
|
|
- console.log('FINISHED!')
|
|
|
- console.log('OUT OF SYNC USERS', outOfSyncUserCount, '/', userCount)
|
|
|
- process.exit()
|
|
|
- }
|
|
|
- )
|
|
|
- }
|
|
|
-)
|