feat(api): invalidate sessions on user deactivation (MS21-AUTH-004)
Some checks failed
ci/woodpecker/push/api Pipeline failed
Some checks failed
ci/woodpecker/push/api Pipeline failed
This commit is contained in:
@@ -192,7 +192,8 @@ export class AdminService {
|
|||||||
throw new BadRequestException(`User ${id} is already deactivated`);
|
throw new BadRequestException(`User ${id} is already deactivated`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const user = await this.prisma.user.update({
|
const [user] = await this.prisma.$transaction([
|
||||||
|
this.prisma.user.update({
|
||||||
where: { id },
|
where: { id },
|
||||||
data: { deactivatedAt: new Date() },
|
data: { deactivatedAt: new Date() },
|
||||||
include: {
|
include: {
|
||||||
@@ -202,9 +203,11 @@ export class AdminService {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
}),
|
||||||
|
this.prisma.session.deleteMany({ where: { userId: id } }),
|
||||||
|
]);
|
||||||
|
|
||||||
this.logger.log(`User deactivated: ${id}`);
|
this.logger.log(`User deactivated and sessions invalidated: ${id}`);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: user.id,
|
id: user.id,
|
||||||
|
|||||||
Reference in New Issue
Block a user