From 29e7fa13711b9841f380e7104746057cc66b1f41 Mon Sep 17 00:00:00 2001 From: forehalo Date: Wed, 22 May 2024 03:31:41 +0000 Subject: [PATCH] chore(server): cleanup expired sessions (#7018) --- .../backend/server/src/core/auth/service.ts | 20 +++++++++++++++++++ .../backend/server/src/core/auth/token.ts | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/backend/server/src/core/auth/service.ts b/packages/backend/server/src/core/auth/service.ts index 69751bcee8..d2a6a73598 100644 --- a/packages/backend/server/src/core/auth/service.ts +++ b/packages/backend/server/src/core/auth/service.ts @@ -4,6 +4,7 @@ import { NotAcceptableException, OnApplicationBootstrap, } from '@nestjs/common'; +import { Cron, CronExpression } from '@nestjs/schedule'; import type { User } from '@prisma/client'; import { PrismaClient } from '@prisma/client'; import type { CookieOptions, Request, Response } from 'express'; @@ -455,4 +456,23 @@ export class AuthService implements OnApplicationBootstrap { to: email, }); } + + @Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT) + async cleanExpiredSessions() { + await this.db.session.deleteMany({ + where: { + expiresAt: { + lte: new Date(), + }, + }, + }); + + await this.db.userSession.deleteMany({ + where: { + expiresAt: { + lte: new Date(), + }, + }, + }); + } } diff --git a/packages/backend/server/src/core/auth/token.ts b/packages/backend/server/src/core/auth/token.ts index 16c10d1204..0422621767 100644 --- a/packages/backend/server/src/core/auth/token.ts +++ b/packages/backend/server/src/core/auth/token.ts @@ -87,8 +87,8 @@ export class TokenService { } @Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT) - cleanExpiredTokens() { - return this.db.verificationToken.deleteMany({ + async cleanExpiredTokens() { + await this.db.verificationToken.deleteMany({ where: { expiresAt: { lte: new Date(),