Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2e0d63f7f6 |
@@ -127,20 +127,20 @@ export const resolveStaffMiddleware: MiddlewareHandler<AppEnv> = async (
|
|||||||
|
|
||||||
if (oidcAccount) {
|
if (oidcAccount) {
|
||||||
// Derive name: prefer jwt.name, fall back to email prefix, then "Unknown"
|
// Derive name: prefer jwt.name, fall back to email prefix, then "Unknown"
|
||||||
const emailPrefix = jwt.email.split("@")[0] ?? "Unknown";
|
const emailPrefix = jwt.email ? jwt.email.split("@")[0] : "Unknown";
|
||||||
const name = jwt.name?.trim() || emailPrefix;
|
const name = jwt.name?.trim() || emailPrefix;
|
||||||
|
|
||||||
const [newStaff] = await db
|
const [newStaff] = await db
|
||||||
.insert(staff)
|
.insert(staff)
|
||||||
.values({
|
.values({
|
||||||
userId: jwt.sub,
|
userId: jwt.sub,
|
||||||
email: jwt.email,
|
email: (jwt.email ?? "") as string,
|
||||||
name,
|
name,
|
||||||
role: "groomer",
|
role: "groomer",
|
||||||
isSuperUser: false,
|
isSuperUser: false,
|
||||||
active: true,
|
active: true,
|
||||||
})
|
} as Parameters<typeof db.insert>[0] extends { values: infer V } ? V : never)
|
||||||
.returning();
|
.returning()!;
|
||||||
|
|
||||||
if (!newStaff) {
|
if (!newStaff) {
|
||||||
return c.json({ error: "Forbidden: auto-provision failed" }, 500);
|
return c.json({ error: "Forbidden: auto-provision failed" }, 500);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ portalRouter.post(
|
|||||||
return c.json({ error: "Client not found" }, 404);
|
return c.json({ error: "Client not found" }, 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
const DEMO_STAFF_ID = "00000000-0000-0000-0000-000000000001";
|
const DEMO_STAFF_ID = process.env.DEMO_STAFF_ID ?? "00000000-0000-0000-0000-000000000001";
|
||||||
|
|
||||||
let staffId = DEMO_STAFF_ID;
|
let staffId = DEMO_STAFF_ID;
|
||||||
const [demoStaff] = await db
|
const [demoStaff] = await db
|
||||||
@@ -102,7 +102,7 @@ portalRouter.post("/session-from-auth", async (c) => {
|
|||||||
return c.json({ error: "No client record found for this user" }, 404);
|
return c.json({ error: "No client record found for this user" }, 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
const DEMO_STAFF_ID = "00000000-0000-0000-0000-000000000001";
|
const DEMO_STAFF_ID = process.env.DEMO_STAFF_ID ?? "00000000-0000-0000-0000-000000000001";
|
||||||
|
|
||||||
let staffId = DEMO_STAFF_ID;
|
let staffId = DEMO_STAFF_ID;
|
||||||
const [demoStaff] = await db
|
const [demoStaff] = await db
|
||||||
@@ -133,6 +133,10 @@ portalRouter.post("/session-from-auth", async (c) => {
|
|||||||
})
|
})
|
||||||
.returning();
|
.returning();
|
||||||
|
|
||||||
|
if (!portalSession) {
|
||||||
|
return c.json({ error: "Failed to create session" }, 500);
|
||||||
|
}
|
||||||
|
|
||||||
return c.json(
|
return c.json(
|
||||||
{
|
{
|
||||||
sessionId: portalSession.id,
|
sessionId: portalSession.id,
|
||||||
|
|||||||
Reference in New Issue
Block a user