From 0ddcce6fe1b42f57b1def843cd1d67afc927ad49 Mon Sep 17 00:00:00 2001 From: Fred KISSIE Date: Tue, 3 Mar 2026 02:47:21 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=83=EF=B8=8F=20create=20resource=20pol?= =?UTF-8?q?icy=20specific=20tables=20for=20auth=20methods?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/db/pg/schema/schema.ts | 74 ++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 18 deletions(-) diff --git a/server/db/pg/schema/schema.ts b/server/db/pg/schema/schema.ts index d8c0a42ad..ef7e79166 100644 --- a/server/db/pg/schema/schema.ts +++ b/server/db/pg/schema/schema.ts @@ -488,12 +488,7 @@ export const resourcePincode = pgTable("resourcePincode", { .notNull() .references(() => resources.resourceId, { onDelete: "cascade" }), pincodeHash: varchar("pincodeHash").notNull(), - digitLength: integer("digitLength").notNull(), - resourcePolicyId: integer("resourcePolicyId") - .notNull() - .references(() => resourcePolicies.resourcePolicyId, { - onDelete: "cascade" - }) + digitLength: integer("digitLength").notNull() }); export const resourcePassword = pgTable("resourcePassword", { @@ -501,12 +496,7 @@ export const resourcePassword = pgTable("resourcePassword", { resourceId: integer("resourceId") .notNull() .references(() => resources.resourceId, { onDelete: "cascade" }), - passwordHash: varchar("passwordHash").notNull(), - resourcePolicyId: integer("resourcePolicyId") - .notNull() - .references(() => resourcePolicies.resourcePolicyId, { - onDelete: "cascade" - }) + passwordHash: varchar("passwordHash").notNull() }); export const resourceHeaderAuth = pgTable("resourceHeaderAuth", { @@ -514,12 +504,7 @@ export const resourceHeaderAuth = pgTable("resourceHeaderAuth", { resourceId: integer("resourceId") .notNull() .references(() => resources.resourceId, { onDelete: "cascade" }), - headerAuthHash: varchar("headerAuthHash").notNull(), - resourcePolicyId: integer("resourcePolicyId") - .notNull() - .references(() => resourcePolicies.resourcePolicyId, { - onDelete: "cascade" - }) + headerAuthHash: varchar("headerAuthHash").notNull() }); export const resourceHeaderAuthExtendedCompatibility = pgTable( @@ -544,6 +529,59 @@ export const resourceHeaderAuthExtendedCompatibility = pgTable( } ); +export const resourcePolicyHeaderAuthExtendedCompatibility = pgTable( + "resourcePolicyHeaderAuthExtendedCompatibility", + { + headerAuthExtendedCompatibilityId: serial( + "headerAuthExtendedCompatibilityId" + ).primaryKey(), + resourcePolicyId: integer("resourcePolicyId") + .notNull() + .references(() => resourcePolicies.resourcePolicyId, { + onDelete: "cascade" + }), + extendedCompatibilityIsActivated: boolean( + "extendedCompatibilityIsActivated" + ) + .notNull() + .default(true) + } +); + +export const resourcePolicyPincode = pgTable("resourcePolicyPincode", { + pincodeId: serial("pincodeId").primaryKey(), + pincodeHash: varchar("pincodeHash").notNull(), + digitLength: integer("digitLength").notNull(), + resourcePolicyId: integer("resourcePolicyId") + .notNull() + .references(() => resourcePolicies.resourcePolicyId, { + onDelete: "cascade" + }) +}); + +export const resourcePolicyPassword = pgTable("resourcePolicyPassword", { + passwordId: serial("passwordId").primaryKey(), + passwordHash: varchar("passwordHash").notNull(), + resourcePolicyId: integer("resourcePolicyId") + .notNull() + .references(() => resourcePolicies.resourcePolicyId, { + onDelete: "cascade" + }) +}); + +export const resourcePolicyHeaderAuth = pgTable("resourcePolicyHeaderAuth", { + headerAuthId: serial("headerAuthId").primaryKey(), + resourceId: integer("resourceId") + .notNull() + .references(() => resources.resourceId, { onDelete: "cascade" }), + headerAuthHash: varchar("headerAuthHash").notNull(), + resourcePolicyId: integer("resourcePolicyId") + .notNull() + .references(() => resourcePolicies.resourcePolicyId, { + onDelete: "cascade" + }) +}); + export const resourceAccessToken = pgTable("resourceAccessToken", { accessTokenId: varchar("accessTokenId").primaryKey(), orgId: varchar("orgId")