@@ -183,8 +183,16 @@ export const getUserDetail = async (req: ServiceRequest, res: Response) => {
183183 return res . status ( 404 ) . json ( { message : 'User not found' } ) ;
184184 }
185185
186+ const now = new Date ( ) ;
187+
186188 const sessions = await Session . findAll ( {
187- where : { userId } ,
189+ where : {
190+ userId,
191+ revokedAt : null ,
192+ expiresAt : {
193+ [ Op . gt ] : now ,
194+ } ,
195+ } ,
188196 } ) ;
189197
190198 const credentials = await Credential . findAll ( {
@@ -247,11 +255,16 @@ export const getUserAnomalies = async (req: Request, res: Response) => {
247255export const listUserSessions = async ( req : Request , res : Response ) => {
248256 const { userId } = req . params ;
249257
258+ const now = new Date ( ) ;
259+
250260 try {
251261 const sessions = await Session . findAll ( {
252262 where : {
253263 userId,
254264 revokedAt : null ,
265+ expiresAt : {
266+ [ Op . gt ] : now ,
267+ } ,
255268 } ,
256269 } ) ;
257270
@@ -299,13 +312,22 @@ export const revokeAllUserSessions = async (req: Request, res: Response) => {
299312export const listAllSessions = async ( req : Request , res : Response ) => {
300313 const { limit = 10 , offset = 0 } = req . query ;
301314
315+ const now = new Date ( ) ;
316+
317+ const where = {
318+ revokedAt : null ,
319+ expiresAt : {
320+ [ Op . gt ] : now ,
321+ } ,
322+ } ;
323+
302324 const [ sessions , total ] = await Promise . all ( [
303325 Session . findAll ( {
304- where : { revokedAt : null } ,
326+ where : where ,
305327 limit : Number ( limit ) ,
306328 offset : Number ( offset ) ,
307329 } ) ,
308- Session . count ( { where : { revokedAt : null } } ) ,
330+ Session . count ( { where } ) ,
309331 ] ) ;
310332
311333 return res . json ( { sessions, total } ) ;
0 commit comments