UserHandler.coffee 1.2 KB

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