From 6f20f565fe9b7f5f7c50ceb0ecbab5829ada51f6 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Fri, 1 Jul 2016 15:55:50 +0100 Subject: [PATCH] Add early-return guards --- .../Features/User/UserSessionsManager.coffee | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/services/web/app/coffee/Features/User/UserSessionsManager.coffee b/services/web/app/coffee/Features/User/UserSessionsManager.coffee index 5d9b19d68f..cbaa4a7760 100644 --- a/services/web/app/coffee/Features/User/UserSessionsManager.coffee +++ b/services/web/app/coffee/Features/User/UserSessionsManager.coffee @@ -13,6 +13,12 @@ module.exports = UserSessionsManager = return "sess:#{sessionId}" trackSession: (user, sessionId, callback=(err)-> ) -> + if !user + logger.log {sessionId}, "no user to track, returning" + return callback(null) + if !sessionId + logger.log {user_id: user._id}, "no sessionId to track, returning" + return callback(null) logger.log {user_id: user._id, sessionId}, "onLogin handler" sessionSetKey = UserSessionsManager._sessionSetKey(user) value = UserSessionsManager._sessionKey sessionId @@ -26,6 +32,12 @@ module.exports = UserSessionsManager = callback() untrackSession: (user, sessionId, callback=(err)-> ) -> + if !user + logger.log {sessionId}, "no user to untrack, returning" + return callback(null) + if !sessionId + logger.log {user_id: user._id}, "no sessionId to untrack, returning" + return callback(null) logger.log {user_id: user._id, sessionId}, "onLogout handler" if !user logger.log {sessionId}, "no user, for some reason" @@ -42,6 +54,9 @@ module.exports = UserSessionsManager = callback() revokeAllUserSessions: (user, callback=(err)->) -> + if !user + logger.log {}, "no user to revoke sessions for, returning" + return callback(null) logger.log {user_id: user._id}, "revoking all existing sessions for user" sessionSetKey = UserSessionsManager._sessionSetKey(user) rclient.smembers sessionSetKey, (err, sessionKeys) -> @@ -60,6 +75,7 @@ module.exports = UserSessionsManager = touch: (user, callback=(err)->) -> if !user + logger.log {}, "no user to touch sessions for, returning" return callback(null) sessionSetKey = UserSessionsManager._sessionSetKey(user) rclient.expire sessionSetKey, "#{Settings.cookieSessionLength}", (err, response) ->