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. populateGroupLicenceInvite: (user, callback = ->)->
  7. SubscriptionGroupHandler.convertEmailInvitesToMemberships user.email, user._id, (err) ->
  8. return callback(err) if err?
  9. logger.log user_id:user._id, "populating any potential group licence invites"
  10. licence = SubscriptionDomainHandler.getLicenceUserCanJoin user
  11. if !licence?
  12. return callback()
  13. SubscriptionGroupHandler.isUserPartOfGroup user._id, licence.subscription_id, (err, alreadyPartOfGroup)->
  14. if err?
  15. return callback(err)
  16. else if alreadyPartOfGroup
  17. logger.log user_id:user._id, "user already part of group, not creating notifcation for them"
  18. return callback()
  19. else
  20. NotificationsBuilder.groupPlan(user, licence).create(callback)
  21. setupLoginData: (user, callback = ->)->
  22. @populateGroupLicenceInvite user, callback