Persist event sign designs and harden invitation permissions

This commit is contained in:
2026-09-10 09:52:02 -04:00
parent 3a115f1161
commit 76ef573b3a
15 changed files with 289 additions and 32 deletions
@@ -0,0 +1,6 @@
CREATE TABLE "event_signs" (
"event_id" uuid PRIMARY KEY REFERENCES "events"("id") ON DELETE CASCADE,
"revision" uuid NOT NULL,
"object_key" text NOT NULL,
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
);
+2 -1
View File
@@ -78,6 +78,7 @@
"when": 1788996000000,
"tag": "0010_banner_crop",
"breakpoints": true
}
},
{ "idx": 11, "version": "7", "when": 1789086000000, "tag": "0011_event_signs", "breakpoints": true }
]
}
+7
View File
@@ -211,6 +211,13 @@ export const photoExports = pgTable("photo_exports", {
...timestamps,
}, (table) => [index("photo_exports_queue_idx").on(table.status, table.createdAt), uniqueIndex("photo_exports_active_idx").on(table.eventId,table.requestedBy).where(sql`${table.status} IN ('pending', 'processing')`), check("photo_exports_filter_check",sql`${table.filter} IN ('approved', 'all')`)]);
export const eventSigns = pgTable("event_signs", {
eventId: uuid("event_id").primaryKey().references(() => events.id, { onDelete: "cascade" }),
revision: uuid("revision").notNull(),
objectKey: text("object_key").notNull(),
updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
});
export const eventBanners = pgTable("event_banners", {
id: uuid("id").defaultRandom().primaryKey(),
eventId: uuid("event_id").notNull().references(() => events.id, { onDelete: "cascade" }),