|
|
@@ -77,10 +77,6 @@ const UserSessionsManager = {
|
|
|
},
|
|
|
|
|
|
getAllUserSessions(user, exclude, callback) {
|
|
|
- if (typeof exclude === 'function') {
|
|
|
- callback = exclude
|
|
|
- exclude = []
|
|
|
- }
|
|
|
exclude = _.map(exclude, UserSessionsManager._sessionKey)
|
|
|
const sessionSetKey = UserSessionsRedis.sessionSetKey(user)
|
|
|
rclient.smembers(sessionSetKey, function (err, sessionKeys) {
|
|
|
@@ -98,14 +94,7 @@ const UserSessionsManager = {
|
|
|
|
|
|
Async.mapSeries(
|
|
|
sessionKeys,
|
|
|
- (k, cb) => {
|
|
|
- rclient.get(k, (err, res) => {
|
|
|
- if (err) {
|
|
|
- return cb(err)
|
|
|
- }
|
|
|
- cb(null, { id: k, data: res })
|
|
|
- })
|
|
|
- },
|
|
|
+ (k, cb) => rclient.get(k, cb),
|
|
|
function (err, sessions) {
|
|
|
if (err) {
|
|
|
OError.tag(err, 'error getting all sessions for user from redis', {
|
|
|
@@ -115,18 +104,17 @@ const UserSessionsManager = {
|
|
|
}
|
|
|
|
|
|
const result = []
|
|
|
- for (const session of Array.from(sessions)) {
|
|
|
+ for (let session of Array.from(sessions)) {
|
|
|
if (!session) {
|
|
|
continue
|
|
|
}
|
|
|
- const sessionData = JSON.parse(session.data)
|
|
|
- let sessionUser = sessionData.passport && sessionData.passport.user
|
|
|
+ session = JSON.parse(session)
|
|
|
+ let sessionUser = session.passport && session.passport.user
|
|
|
if (!sessionUser) {
|
|
|
- sessionUser = sessionData.user
|
|
|
+ sessionUser = session.user
|
|
|
}
|
|
|
|
|
|
result.push({
|
|
|
- id: session.id.replace('sess:', ''),
|
|
|
ip_address: sessionUser.ip_address,
|
|
|
session_created: sessionUser.session_created,
|
|
|
})
|