| 12345678910111213141516171819202122232425262728293031 |
- NotificationsHandler = require("./NotificationsHandler")
- NotificationsBuilder = require("./NotificationsBuilder")
- AuthenticationController = require("../Authentication/AuthenticationController")
- Settings = require 'settings-sharelatex'
- logger = require("logger-sharelatex")
- _ = require("underscore")
- module.exports =
- getAllUnreadNotifications: (req, res)->
- ip = req.headers['x-forwarded-for'] ||
- req.connection.remoteAddress ||
- req.socket.remoteAddress
- user_id = AuthenticationController.getLoggedInUserId(req)
- # in v2 add notifications for matching university IPs
- if Settings.overleaf?
- NotificationsBuilder.ipMatcherAffiliation(user_id, ip)
- NotificationsHandler.getUserNotifications user_id, (err, unreadNotifications)->
- unreadNotifications = _.map unreadNotifications, (notification)->
- notification.html = req.i18n.translate(notification.templateKey, notification.messageOpts)
- return notification
- res.send(unreadNotifications)
- markNotificationAsRead: (req, res)->
- user_id = AuthenticationController.getLoggedInUserId(req)
- notification_id = req.params.notification_id
- NotificationsHandler.markAsRead user_id, notification_id, ->
- res.send()
- logger.log user_id:user_id, notification_id:notification_id, "mark notification as read"
|