From 91e8a13e59a3d7a1074c5cd8dc90c1bfa5f950ee Mon Sep 17 00:00:00 2001 From: Fred KISSIE Date: Tue, 12 May 2026 17:55:56 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=83=EF=B8=8F=20Add=20site=20resource?= =?UTF-8?q?=20labels=20schema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/db/pg/schema/schema.ts | 18 ++++++++++++++++++ server/db/sqlite/schema/schema.ts | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/server/db/pg/schema/schema.ts b/server/db/pg/schema/schema.ts index a797e3ddc..76c842d13 100644 --- a/server/db/pg/schema/schema.ts +++ b/server/db/pg/schema/schema.ts @@ -209,6 +209,24 @@ export const resourceLabels = pgTable( (t) => [unique("resource_label_uniq").on(t.resourceId, t.labelId)] ); +export const siteResourceLabels = pgTable( + "siteResourceLabels", + { + siteResourceLabelId: serial("siteResourceLabelId").primaryKey(), + siteResourceId: integer("siteResourceId") + .references(() => siteResources.siteResourceId, { + onDelete: "cascade" + }) + .notNull(), + labelId: integer("labelId") + .references(() => labels.labelId, { + onDelete: "cascade" + }) + .notNull() + }, + (t) => [unique("site_resource_label_uniq").on(t.siteResourceId, t.labelId)] +); + export const targets = pgTable("targets", { targetId: serial("targetId").primaryKey(), resourceId: integer("resourceId") diff --git a/server/db/sqlite/schema/schema.ts b/server/db/sqlite/schema/schema.ts index 924581120..2acbe0f2a 100644 --- a/server/db/sqlite/schema/schema.ts +++ b/server/db/sqlite/schema/schema.ts @@ -232,6 +232,26 @@ export const resourceLabels = sqliteTable( (t) => [unique("resource_label_uniq").on(t.resourceId, t.labelId)] ); +export const siteResourceLabels = sqliteTable( + "siteResourceLabels", + { + siteResourceLabelId: integer("siteResourceLabelId").primaryKey({ + autoIncrement: true + }), + siteResourceId: integer("siteResourceId") + .references(() => siteResources.siteResourceId, { + onDelete: "cascade" + }) + .notNull(), + labelId: integer("labelId") + .references(() => labels.labelId, { + onDelete: "cascade" + }) + .notNull() + }, + (t) => [unique("site_resource_label_uniq").on(t.siteResourceId, t.labelId)] +); + export const targets = sqliteTable("targets", { targetId: integer("targetId").primaryKey({ autoIncrement: true }), resourceId: integer("resourceId")