move call for creating ip matched notifcation to project controller

This commit is contained in:
hugh-obrien
2018-09-05 15:40:59 +01:00
parent 5605e1c5c3
commit 8ef90a0dcb
7 changed files with 32 additions and 42 deletions
@@ -26,6 +26,8 @@ TokenAccessHandler = require '../TokenAccess/TokenAccessHandler'
CollaboratorsHandler = require '../Collaborators/CollaboratorsHandler'
Modules = require '../../infrastructure/Modules'
ProjectEntityHandler = require './ProjectEntityHandler'
UserGetter = require("../User/UserGetter")
NotificationsBuilder = require("../Notifications/NotificationsBuilder")
crypto = require 'crypto'
{ V1ConnectionError } = require '../Errors/Errors'
Features = require('../../infrastructure/Features')
@@ -209,6 +211,16 @@ module.exports = ProjectController =
user = results.user
warnings = ProjectController._buildWarningsList results.v1Projects
# in v2 add notifications for matching university IPs
if Settings.overleaf?
ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress
UserGetter.getUser user_id, { 'lastLoginIp': 1 }, (error, user) ->
if ip != user.lastLoginIp
NotificationsBuilder.ipMatcherAffiliation(user._id, ip).create((err) ->
return err
)
ProjectController._injectProjectOwners projects, (error, projects) ->
return next(error) if error?