From 16ebc4a09eabb3e3d7a399673530e51b2e25cb03 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Thu, 3 Sep 2026 21:05:18 +0200 Subject: [PATCH] fix(housekeeping): keep rank reset transactional --- src/lib/services/permission-ranks.test.ts | 13 +++++++------ src/lib/services/permission-ranks.ts | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/services/permission-ranks.test.ts b/src/lib/services/permission-ranks.test.ts index cc1adf7d..f4df7e77 100644 --- a/src/lib/services/permission-ranks.test.ts +++ b/src/lib/services/permission-ranks.test.ts @@ -104,12 +104,13 @@ describe("transaction-aware rank lifecycle helpers", () => { }); await deleteEmulatorRankInTransaction(executor as never, 7); - expect(statements).toHaveLength(5); - expect(statements[0]).toContain("INSERT INTO permission_ranks"); - expect(statements[1]).toContain("INSERT INTO permissions"); - expect(statements[2]).toContain("UPDATE permission_definitions"); - expect(statements[3]).toContain("DELETE FROM permission_ranks"); - expect(statements[4]).toContain("DELETE FROM permissions"); + expect(statements).toHaveLength(6); + expect(statements[0]).toContain("UPDATE permission_definitions"); + expect(statements[1]).toContain("INSERT INTO permission_ranks"); + expect(statements[2]).toContain("INSERT INTO permissions"); + expect(statements[3]).toContain("UPDATE permission_definitions"); + expect(statements[4]).toContain("DELETE FROM permission_ranks"); + expect(statements[5]).toContain("DELETE FROM permissions"); }); }); diff --git a/src/lib/services/permission-ranks.ts b/src/lib/services/permission-ranks.ts index 1a023fb1..46ee6b70 100644 --- a/src/lib/services/permission-ranks.ts +++ b/src/lib/services/permission-ranks.ts @@ -216,7 +216,6 @@ export async function prepareEmulatorRankCreation( ); const id = Number(rows[0]?.next_id ?? 1); await ensurePermissionRankColumn(db, id); - await resetPermissionRankColumn(db, id); return id; } @@ -225,6 +224,7 @@ export async function createEmulatorRankInTransaction( id: number, data: { rank_name: string; level: number }, ): Promise { + await resetPermissionRankColumn(db, id); await rawExec( db, sql`