refactor: wrap user password reset operations in db transaction

This commit is contained in:
Nicolas Meienberger 2025-12-22 19:12:07 +01:00
parent 42453207f4
commit 22230a0915

View file

@ -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")