NotificationsBuilder.coffee 1.2 KB

1234567891011121314151617181920212223242526272829
  1. logger = require("logger-sharelatex")
  2. NotificationsHandler = require("./NotificationsHandler")
  3. module.exports =
  4. groupPlan: (user, licence)->
  5. key : "join-sub-#{licence.subscription_id}"
  6. create: (callback = ->)->
  7. messageOpts =
  8. groupName: licence.name
  9. subscription_id: licence.subscription_id
  10. logger.log user_id:user._id, key:key, "creating notification key for user"
  11. NotificationsHandler.createNotification user._id, @key, "notification_group_invite", messageOpts, callback
  12. read: (callback = ->)->
  13. NotificationsHandler.markAsReadWithKey user._id, @key, callback
  14. projectInvite: (invite, project, sendingUser, user) ->
  15. key: "project-invite-#{invite._id}"
  16. create: (callback=()->) ->
  17. messageOpts =
  18. userName: sendingUser.first_name
  19. projectName: project.name
  20. projectId: project._id.toString()
  21. token: invite.token
  22. logger.log {user_id: user._id, project_id: project._id, invite_id: invite._id, key: @key}, "creating project invite notification for user"
  23. NotificationsHandler.createNotification user._id, @key, "notification_project_invite", messageOpts, callback
  24. read: (callback=()->) ->
  25. NotificationsHandler.markAsReadWithKey user._id, @key, callback