InstitutionsManager.coffee 736 B

1234567891011121314151617
  1. logger = require 'logger-sharelatex'
  2. async = require 'async'
  3. db = require("../../infrastructure/mongojs").db
  4. ObjectId = require("../../infrastructure/mongojs").ObjectId
  5. { getInstitutionAffiliations } = require('./InstitutionsAPI')
  6. FeaturesUpdater = require('../Subscription/FeaturesUpdater')
  7. ASYNC_LIMIT = 10
  8. module.exports = InstitutionsManager =
  9. upgradeInstitutionUsers: (institutionId, callback = (error) ->) ->
  10. getInstitutionAffiliations institutionId, (error, affiliations) ->
  11. return callback(error) if error
  12. async.eachLimit affiliations, ASYNC_LIMIT, refreshFeatures, callback
  13. refreshFeatures = (affiliation, callback) ->
  14. userId = ObjectId(affiliation.user_id)
  15. FeaturesUpdater.refreshFeatures(userId, true, callback)