feat(gro-48): row-level data scoping for groomer role (RBAC Phase 2) #125

Closed
groombook-engineer[bot] wants to merge 3 commits from fleaflicker/gro48-rbac-row-level-clean into main
5 changed files with 6 additions and 0 deletions
Showing only changes of commit 014f1abc8c - Show all commits
@@ -21,6 +21,7 @@ const MANAGER: StaffRow = {
active: true,
createdAt: new Date(),
updatedAt: new Date(),
icalToken: null,
};
const GROOMER: StaffRow = {
+1
View File
@@ -13,6 +13,7 @@ const MANAGER: StaffRow = {
active: true,
createdAt: new Date(),
updatedAt: new Date(),
icalToken: null,
};
const GROOMER: StaffRow = {
+1
View File
@@ -14,6 +14,7 @@ const MANAGER: StaffRow = {
active: true,
createdAt: new Date(),
updatedAt: new Date(),
icalToken: null,
};
const RECEPTIONIST: StaffRow = {
+1
View File
@@ -54,6 +54,7 @@ export function buildStaff(overrides: Partial<StaffRow> = {}): StaffRow {
active: true,
createdAt: new Date("2025-01-01T00:00:00Z"),
updatedAt: new Date("2025-01-01T00:00:00Z"),
icalToken: null,
...overrides,
};
}
+2
View File
@@ -106,6 +106,8 @@ export const staff = pgTable("staff", {
oidcSub: text("oidc_sub").unique(),
role: staffRoleEnum("role").notNull().default("groomer"),
active: boolean("active").notNull().default(true),
// Token for iCal calendar feed subscription (no auth required)
icalToken: text("ical_token").unique(),
createdAt: timestamp("created_at").notNull().defaultNow(),
updatedAt: timestamp("updated_at").notNull().defaultNow(),
});