promote: uat → main (GRO-1757 SSO auto-provision fix) #89
@@ -127,15 +127,14 @@ 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 name =
|
const emailPrefix = jwt.email.split("@")[0] ?? "Unknown";
|
||||||
jwt.name?.trim() ||
|
const name = jwt.name?.trim() || emailPrefix;
|
||||||
(jwt.email ? jwt.email.split("@")[0] : "Unknown");
|
|
||||||
|
|
||||||
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,
|
||||||
name,
|
name,
|
||||||
role: "groomer",
|
role: "groomer",
|
||||||
isSuperUser: false,
|
isSuperUser: false,
|
||||||
@@ -143,6 +142,10 @@ export const resolveStaffMiddleware: MiddlewareHandler<AppEnv> = async (
|
|||||||
})
|
})
|
||||||
.returning();
|
.returning();
|
||||||
|
|
||||||
|
if (!newStaff) {
|
||||||
|
return c.json({ error: "Forbidden: auto-provision failed" }, 500);
|
||||||
|
}
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
`[rbac] auto-provisioned staff record for OIDC user: ${jwt.sub} -> staff:${newStaff.id} (${name})`
|
`[rbac] auto-provisioned staff record for OIDC user: ${jwt.sub} -> staff:${newStaff.id} (${name})`
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user