From 22230a09159d043d0841d28a7656051fedfca15c Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Mon, 22 Dec 2025 19:12:07 +0100 Subject: [PATCH] refactor: wrap user password reset operations in db transaction --- app/server/cli/commands/reset-password.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/server/cli/commands/reset-password.ts b/app/server/cli/commands/reset-password.ts index aca46e7d..93d200ad 100644 --- a/app/server/cli/commands/reset-password.ts +++ b/app/server/cli/commands/reset-password.ts @@ -21,8 +21,10 @@ const resetPassword = async (username: string, newPassword: string) => { timeCost: 2, }); - await db.update(usersTable).set({ passwordHash: newPasswordHash }).where(eq(usersTable.id, user.id)); - await db.delete(sessionsTable).where(eq(sessionsTable.userId, user.id)); + await db.transaction(async (tx) => { + await tx.update(usersTable).set({ passwordHash: newPasswordHash }).where(eq(usersTable.id, user.id)); + await tx.delete(sessionsTable).where(eq(sessionsTable.userId, user.id)); + }); }; export const resetPasswordCommand = new Command("reset-password")