UserHandler.coffee 1.1 KB

1234567891011121314151617181920212223242526272829
  1. SubscriptionDomainHandler = require("../Subscription/SubscriptionDomainHandler")
  2. NotificationsBuilder = require("../Notifications/NotificationsBuilder")
  3. SubscriptionGroupHandler = require("../Subscription/SubscriptionGroupHandler")
  4. logger = require("logger-sharelatex")
  5. module.exports = UserHandler =
  6. notifyDomainLicence: (user, callback = ->)->
  7. logger.log user_id:user._id, "notiying user about a potential domain licence"
  8. licence = SubscriptionDomainHandler.getLicenceUserCanJoin user
  9. if !licence?
  10. return callback()
  11. SubscriptionGroupHandler.isUserPartOfGroup user._id, licence.subscription_id, (err, alreadyPartOfGroup)->
  12. if err?
  13. return callback(err)
  14. else if alreadyPartOfGroup
  15. logger.log user_id:user._id, "user already part of team, not creating notifcation for them"
  16. return callback()
  17. else
  18. NotificationsBuilder.groupPlan(user, licence).create(callback)
  19. setupLoginData: (user, callback = ->)->
  20. @notifyDomainLicence user, callback
  21. # Backwards compatibility: this is called from the public-registration module
  22. populateGroupLicenceInvite: (user, callback = ->)->
  23. @notifyDomainLicence user, callback