Просмотр исходного кода

map the 'retain' values to session ids

Shane Kilkelly 10 лет назад
Родитель
Сommit
3f1a47eccb
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      services/web/app/coffee/Features/User/UserSessionsManager.coffee

+ 2 - 1
services/web/app/coffee/Features/User/UserSessionsManager.coffee

@@ -61,6 +61,7 @@ module.exports = UserSessionsManager =
 	revokeAllUserSessions: (user, retain, callback=(err)->) ->
 	revokeAllUserSessions: (user, retain, callback=(err)->) ->
 		if !retain
 		if !retain
 			retain = []
 			retain = []
+		retain = retain.map((i) -> UserSessionsManager._sessionKey(i))
 		if !user
 		if !user
 			logger.log {}, "no user to revoke sessions for, returning"
 			logger.log {}, "no user to revoke sessions for, returning"
 			return callback(null)
 			return callback(null)
@@ -70,7 +71,7 @@ module.exports = UserSessionsManager =
 			if err
 			if err
 				logger.err {err, user_id: user._id, sessionSetKey}, "error getting contents of UserSessions set"
 				logger.err {err, user_id: user._id, sessionSetKey}, "error getting contents of UserSessions set"
 				return callback(err)
 				return callback(err)
-			keysToDelete = _.filter(sessionKeys, (k) => k not in retain)
+			keysToDelete = _.filter(sessionKeys, (k) -> k not in retain)
 			logger.log {user_id: user._id, count: keysToDelete.length}, "deleting sessions for user"
 			logger.log {user_id: user._id, count: keysToDelete.length}, "deleting sessions for user"
 			rclient.multi()
 			rclient.multi()
 				.del(keysToDelete)
 				.del(keysToDelete)