Settings = require('settings-sharelatex')
logger = require("logger-sharelatex")
Async = require('async')

UserSessionsRedis = require('../../../../app/js/Features/User/UserSessionsRedis')

# rclient = redis.createClient(Settings.redis.web)
rclient = UserSessionsRedis.client()

module.exports =

	getUserSessions: (user, callback=(err, sessionsSet)->) ->
		rclient.smembers UserSessionsRedis.sessionSetKey(user), (err, result) ->
			return callback(err, result)

	clearUserSessions: (user, callback=(err)->) ->
		sessionSetKey = UserSessionsRedis.sessionSetKey(user)
		rclient.smembers sessionSetKey, (err, sessionKeys) ->
			if err
				return callback(err)
			if sessionKeys.length == 0
				return callback(null)
			actions = sessionKeys.map (k) ->
				(cb) ->
					rclient.del k, (err) ->
						cb(err)
			Async.series(
				actions, (err, results) ->
					rclient.srem sessionSetKey, sessionKeys, (err) ->
						if err
							return callback(err)
						callback(null)
			)
