mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-05 09:29:27 +00:00
🗃️ add org auth page model
This commit is contained in:
@@ -64,6 +64,20 @@ export const orgDomains = pgTable("orgDomains", {
|
||||
.references(() => domains.domainId, { onDelete: "cascade" })
|
||||
});
|
||||
|
||||
export const orgAuthPages = pgTable("orgAuthPages", {
|
||||
orgId: varchar("orgId")
|
||||
.notNull()
|
||||
.references(() => orgs.orgId, { onDelete: "cascade" }),
|
||||
orgAuthPageId: serial("orgAuthPageId").primaryKey(),
|
||||
logoUrl: text("logoUrl"),
|
||||
logoWidth: integer("logoWidth"),
|
||||
logoHeight: integer("logoHeight"),
|
||||
title: text("title"),
|
||||
subtitle: text("subtitle"),
|
||||
resourceTitle: text("resourceTitle"),
|
||||
resourceSubtitle: text("resourceSubtitle")
|
||||
});
|
||||
|
||||
export const sites = pgTable("sites", {
|
||||
siteId: serial("siteId").primaryKey(),
|
||||
orgId: varchar("orgId")
|
||||
@@ -809,3 +823,4 @@ export type LicenseKey = InferSelectModel<typeof licenseKey>;
|
||||
export type SecurityKey = InferSelectModel<typeof securityKeys>;
|
||||
export type WebauthnChallenge = InferSelectModel<typeof webauthnChallenge>;
|
||||
export type RequestAuditLog = InferSelectModel<typeof requestAuditLog>;
|
||||
export type OrgAuthPage = InferSelectModel<typeof orgAuthPages>;
|
||||
|
||||
@@ -25,11 +25,10 @@ export const dnsRecords = sqliteTable("dnsRecords", {
|
||||
|
||||
recordType: text("recordType").notNull(), // "NS" | "CNAME" | "A" | "TXT"
|
||||
baseDomain: text("baseDomain"),
|
||||
value: text("value").notNull(),
|
||||
verified: integer("verified", { mode: "boolean" }).notNull().default(false),
|
||||
value: text("value").notNull(),
|
||||
verified: integer("verified", { mode: "boolean" }).notNull().default(false)
|
||||
});
|
||||
|
||||
|
||||
export const orgs = sqliteTable("orgs", {
|
||||
orgId: text("orgId").primaryKey(),
|
||||
name: text("name").notNull(),
|
||||
@@ -67,6 +66,20 @@ export const orgDomains = sqliteTable("orgDomains", {
|
||||
.references(() => domains.domainId, { onDelete: "cascade" })
|
||||
});
|
||||
|
||||
export const orgAuthPages = sqliteTable("orgAuthPages", {
|
||||
orgId: text("orgId")
|
||||
.notNull()
|
||||
.references(() => orgs.orgId, { onDelete: "cascade" }),
|
||||
orgAuthPageId: integer("orgAuthPageId").primaryKey({ autoIncrement: true }),
|
||||
logoUrl: text("logoUrl"),
|
||||
logoWidth: integer("logoWidth"),
|
||||
logoHeight: integer("logoHeight"),
|
||||
title: text("title"),
|
||||
subtitle: text("subtitle"),
|
||||
resourceTitle: text("resourceTitle"),
|
||||
resourceSubtitle: text("resourceSubtitle")
|
||||
});
|
||||
|
||||
export const sites = sqliteTable("sites", {
|
||||
siteId: integer("siteId").primaryKey({ autoIncrement: true }),
|
||||
orgId: text("orgId")
|
||||
@@ -142,9 +155,10 @@ export const resources = sqliteTable("resources", {
|
||||
onDelete: "set null"
|
||||
}),
|
||||
headers: text("headers"), // comma-separated list of headers to add to the request
|
||||
proxyProtocol: integer("proxyProtocol", { mode: "boolean" }).notNull().default(false),
|
||||
proxyProtocol: integer("proxyProtocol", { mode: "boolean" })
|
||||
.notNull()
|
||||
.default(false),
|
||||
proxyProtocolVersion: integer("proxyProtocolVersion").default(1)
|
||||
|
||||
});
|
||||
|
||||
export const targets = sqliteTable("targets", {
|
||||
|
||||
@@ -91,7 +91,6 @@ export async function getResourceAuthInfo(
|
||||
resourcePassword,
|
||||
eq(resourcePassword.resourceId, resources.resourceId)
|
||||
)
|
||||
|
||||
.leftJoin(
|
||||
resourceHeaderAuth,
|
||||
eq(
|
||||
|
||||
Reference in New Issue
Block a user