save the session key string, rather than just the id

This commit is contained in:
Shane Kilkelly 2016-06-29 15:12:12 +01:00
parent db213c0621
commit 03fedafaf5

View file

@ -6,13 +6,17 @@ logger = require("logger-sharelatex")
module.exports = UserSessionsManager =
_sessionSetKey: (user) ->
console.log ">>", user
return "UserSessions:#{user._id}"
# mimic the key used by the express sessions
_sessionKey: (sessionId) ->
return "sess:#{sessionId}"
onLogin: (user, sessionId, callback=(err)-> ) ->
logger.log {user_id: user._id, sessionId}, "onLogin handler"
sessionSetKey = UserSessionsManager._sessionSetKey(user)
rclient.sadd sessionSetKey, sessionId, (err, response) ->
value = UserSessionsManager._sessionKey sessionId
rclient.sadd sessionSetKey, value, (err, response) ->
if err
logger.err {err, user_id: user._id, sessionId}, "error while adding session key to UserSessions set"
return callback(err)
@ -24,7 +28,8 @@ module.exports = UserSessionsManager =
logger.log {sessionId}, "no user, for some reason"
return callback()
sessionSetKey = UserSessionsManager._sessionSetKey(user)
rclient.srem sessionSetKey, sessionId, (err, response) ->
value = UserSessionsManager._sessionKey sessionId
rclient.srem sessionSetKey, value, (err, response) ->
if err
logger.err {err, user_id: user._id, sessionId}, "error while removing session key from UserSessions set"
return callback(err)