diff --git a/apps/api/src/admin/admin.service.ts b/apps/api/src/admin/admin.service.ts index e228ad6..b4add35 100644 --- a/apps/api/src/admin/admin.service.ts +++ b/apps/api/src/admin/admin.service.ts @@ -192,19 +192,22 @@ export class AdminService { throw new BadRequestException(`User ${id} is already deactivated`); } - const user = await this.prisma.user.update({ - where: { id }, - data: { deactivatedAt: new Date() }, - include: { - workspaceMemberships: { - include: { - workspace: { select: { id: true, name: true } }, + const [user] = await this.prisma.$transaction([ + this.prisma.user.update({ + where: { id }, + data: { deactivatedAt: new Date() }, + include: { + workspaceMemberships: { + include: { + workspace: { select: { id: true, name: true } }, + }, }, }, - }, - }); + }), + this.prisma.session.deleteMany({ where: { userId: id } }), + ]); - this.logger.log(`User deactivated: ${id}`); + this.logger.log(`User deactivated and sessions invalidated: ${id}`); return { id: user.id,