From 1e70e01046ffffa2435b6f55fc10245c460ce1f8 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Tue, 12 May 2026 21:44:42 +0000 Subject: [PATCH] fix(api): add UAT Tester staff creation in seed script Adds dedicated SEED_UAT_TESTER_OIDC_SUB handling to create the uat-tester staff record with proper oidcSub mapping to Authentik user PK 237. Fixes GRO-1151 --- apps/api/src/db/seed.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/apps/api/src/db/seed.ts b/apps/api/src/db/seed.ts index 058b7c9..77f6709 100644 --- a/apps/api/src/db/seed.ts +++ b/apps/api/src/db/seed.ts @@ -459,6 +459,32 @@ async function seedKnownUsers() { } } + // ── Staff: UAT Tester (oidcSub from SEED_UAT_TESTER_OIDC_SUB env var) ── + const uatTesterOidcSub = process.env.SEED_UAT_TESTER_OIDC_SUB; + if (uatTesterOidcSub) { + const UAT_TESTER_STAFF_ID = "00000000-0000-0000-0000-000000000007"; + const [existingUatTester] = await db + .select() + .from(schema.staff) + .where(eq(schema.staff.email, "uat-tester@groombook.dev")) + .limit(1); + + if (existingUatTester) { + console.log(`✓ Staff 'UAT Tester' already exists — skipping`); + } else { + await db.insert(schema.staff).values({ + id: UAT_TESTER_STAFF_ID, + name: "UAT Tester", + email: "uat-tester@groombook.dev", + oidcSub: uatTesterOidcSub, + role: "groomer", + isSuperUser: false, + active: true, + }); + console.log(`✓ Created staff 'UAT Tester' (oidcSub: ${uatTesterOidcSub})`); + } + } + // ── Staff: UAT Groomer Personas (SEED_UAT_GROOMER_EMAILS + SEED_UAT_GROOMER_NAMES) ── const groomerEmails = process.env.SEED_UAT_GROOMER_EMAILS?.split(",").map((e) => e.trim()).filter(Boolean) ?? []; const groomerNames = process.env.SEED_UAT_GROOMER_NAMES?.split(",").map((n) => n.trim()).filter(Boolean) ?? [];