overleaf/services/web/app/coffee/Features/User/UserHandler.coffee

32 lines
1.2 KiB
CoffeeScript
Raw Normal View History

SubscriptionDomainHandler = require("../Subscription/SubscriptionDomainHandler")
NotificationsBuilder = require("../Notifications/NotificationsBuilder")
SubscriptionGroupHandler = require("../Subscription/SubscriptionGroupHandler")
TeamInvitesHandler = require("../Subscription/TeamInvitesHandler")
logger = require("logger-sharelatex")
module.exports = UserHandler =
populateTeamInvites: (user, callback) ->
UserHandler.notifyDomainLicence user, (err) ->
return callback(err) if err?
TeamInvitesHandler.createTeamInvitesForLegacyInvitedEmail(user.email, callback)
notifyDomainLicence: (user, callback = ->)->
logger.log user_id:user._id, "notiying user about a potential domain licence"
licence = SubscriptionDomainHandler.getLicenceUserCanJoin user
if !licence?
return callback()
SubscriptionGroupHandler.isUserPartOfGroup user._id, licence.subscription_id, (err, alreadyPartOfGroup)->
if err?
return callback(err)
else if alreadyPartOfGroup
logger.log user_id:user._id, "user already part of team, not creating notifcation for them"
return callback()
else
NotificationsBuilder.groupPlan(user, licence).create(callback)
setupLoginData: (user, callback = ->)->
@populateTeamInvites user, callback