Skip to content

Commit a2ba85a

Browse files
committed
fix: limit sessions to active sessions
1 parent af7b12e commit a2ba85a

1 file changed

Lines changed: 25 additions & 3 deletions

File tree

src/controllers/admin.ts

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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) => {
247255
export 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) => {
299312
export 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

Comments
 (0)