Add http to mode and put destinationPort back

This commit is contained in:
Owen
2026-04-09 17:02:08 -04:00
parent 1efd2af44b
commit eb771ceda4
6 changed files with 15 additions and 9 deletions

View File

@@ -230,7 +230,7 @@ export const siteResources = pgTable("siteResources", {
.references(() => orgs.orgId, { onDelete: "cascade" }),
niceId: varchar("niceId").notNull(),
name: varchar("name").notNull(),
mode: varchar("mode").$type<"host" | "cidr">().notNull(), // "host" | "cidr" | "port"
mode: varchar("mode").$type<"host" | "cidr" | "http" | "https">().notNull(), // "host" | "cidr" | "http" | "https"
protocol: varchar("protocol"), // only for port mode
proxyPort: integer("proxyPort"), // only for port mode
destinationPort: integer("destinationPort"), // only for port mode

View File

@@ -258,7 +258,7 @@ export const siteResources = sqliteTable("siteResources", {
.references(() => orgs.orgId, { onDelete: "cascade" }),
niceId: text("niceId").notNull(),
name: text("name").notNull(),
mode: text("mode").$type<"host" | "cidr">().notNull(), // "host" | "cidr" | "port"
mode: text("mode").$type<"host" | "cidr" | "http" | "https">().notNull(), // "host" | "cidr" | "http" | "https"
protocol: text("protocol"), // only for port mode
proxyPort: integer("proxyPort"), // only for port mode
destinationPort: integer("destinationPort"), // only for port mode

View File

@@ -84,6 +84,7 @@ export async function updateClientResources(
siteId: site.siteId,
mode: resourceData.mode,
destination: resourceData.destination,
destinationPort: resourceData["destination-port"],
enabled: true, // hardcoded for now
// enabled: resourceData.enabled ?? true,
alias: resourceData.alias || null,
@@ -223,6 +224,7 @@ export async function updateClientResources(
name: resourceData.name || resourceNiceId,
mode: resourceData.mode,
destination: resourceData.destination,
destinationPort: resourceData["destination-port"],
enabled: true, // hardcoded for now
// enabled: resourceData.enabled ?? true,
alias: resourceData.alias || null,

View File

@@ -325,11 +325,11 @@ export function isTargetsOnlyResource(resource: any): boolean {
export const ClientResourceSchema = z
.object({
name: z.string().min(1).max(255),
mode: z.enum(["host", "cidr"]),
mode: z.enum(["host", "cidr", "http", "https"]),
site: z.string(),
// protocol: z.enum(["tcp", "udp"]).optional(),
// proxyPort: z.int().positive().optional(),
// destinationPort: z.int().positive().optional(),
"destination-port": z.int().positive().optional(),
destination: z.string().min(1),
// enabled: z.boolean().default(true),
"tcp-ports": portRangeStringSchema.optional().default("*"),

View File

@@ -36,11 +36,11 @@ const createSiteResourceParamsSchema = z.strictObject({
const createSiteResourceSchema = z
.strictObject({
name: z.string().min(1).max(255),
mode: z.enum(["host", "cidr", "port"]),
mode: z.enum(["host", "cidr", "port", "http", "https"]),
siteId: z.int(),
// protocol: z.enum(["tcp", "udp"]).optional(),
// proxyPort: z.int().positive().optional(),
// destinationPort: z.int().positive().optional(),
destinationPort: z.int().positive().optional(),
destination: z.string().min(1),
enabled: z.boolean().default(true),
alias: z
@@ -163,7 +163,7 @@ export async function createSiteResource(
mode,
// protocol,
// proxyPort,
// destinationPort,
destinationPort,
destination,
enabled,
alias,
@@ -295,6 +295,7 @@ export async function createSiteResource(
name,
mode: mode as "host" | "cidr",
destination,
destinationPort,
enabled,
alias,
aliasAddress,

View File

@@ -51,10 +51,10 @@ const updateSiteResourceSchema = z
)
.optional(),
// mode: z.enum(["host", "cidr", "port"]).optional(),
mode: z.enum(["host", "cidr"]).optional(),
mode: z.enum(["host", "cidr", "http", "https"]).optional(),
// protocol: z.enum(["tcp", "udp"]).nullish(),
// proxyPort: z.int().positive().nullish(),
// destinationPort: z.int().positive().nullish(),
destinationPort: z.int().positive().nullish(),
destination: z.string().min(1).optional(),
enabled: z.boolean().optional(),
alias: z
@@ -176,6 +176,7 @@ export async function updateSiteResource(
niceId,
mode,
destination,
destinationPort,
alias,
enabled,
userIds,
@@ -347,6 +348,7 @@ export async function updateSiteResource(
niceId,
mode,
destination,
destinationPort,
enabled,
alias: alias && alias.trim() ? alias : null,
tcpPortRangeString,
@@ -450,6 +452,7 @@ export async function updateSiteResource(
siteId: siteId,
mode: mode,
destination: destination,
destinationPort: destinationPort,
enabled: enabled,
alias: alias && alias.trim() ? alias : null,
tcpPortRangeString: tcpPortRangeString,