Fix types

This commit is contained in:
Owen
2026-07-31 16:50:35 -04:00
parent 7e05c16ccd
commit 104dcebda7
14 changed files with 44 additions and 35 deletions
+3 -1
View File
@@ -197,7 +197,9 @@ export const resources = pgTable(
wildcard: boolean("wildcard").notNull().default(false),
mode: text("mode")
.default("http")
.$type<"rdp" | "ssh" | "http" | "vnc" | "inference">()
.$type<
"rdp" | "ssh" | "http" | "vnc" | "inference" | "tcp" | "udp"
>()
.notNull(),
pamMode: varchar("pamMode", { length: 32 })
.$type<"passthrough" | "push">()
+1 -1
View File
@@ -206,7 +206,7 @@ export const resources = sqliteTable("resources", {
wildcard: integer("wildcard", { mode: "boolean" }).notNull().default(false),
mode: text("mode")
.default("http")
.$type<"rdp" | "ssh" | "http" | "vnc" | "inference">()
.$type<"rdp" | "ssh" | "http" | "vnc" | "inference" | "tcp" | "udp">()
.notNull(), // rdp, ssh, http, vnc, inference
pamMode: text("pamMode")
.$type<"passthrough" | "push">()
@@ -18,6 +18,7 @@ import {
domains,
exitNodes,
loginPage,
SiteResource,
targetHealthCheck
} from "@server/db";
import {
@@ -359,7 +360,7 @@ export async function getTraefikConfig(
let siteResourcesWithFullDomain: {
siteResourceId: number;
fullDomain: string | null;
mode: "http" | "host" | "cidr" | "ssh";
mode: SiteResource["mode"];
}[] = [];
if (
build == "enterprise" &&
@@ -1,7 +1,8 @@
import { SiteResource } from "@server/db";
import { formatEndpoint, parseEndpoint } from "@server/lib/ip";
export type SiteResourceDestinationInput = {
mode: "host" | "cidr" | "http" | "ssh";
mode: SiteResource["mode"];
destination: string | null;
destinationPort: number | null;
scheme: "http" | "https" | null;
+2 -2
View File
@@ -44,11 +44,11 @@ const createResourceParamsSchema = z.strictObject({
});
function resolveModeFromLegacyFields(data: {
mode?: "http" | "ssh" | "rdp" | "vnc" | "tcp" | "udp";
mode?: "http" | "ssh" | "rdp" | "vnc" | "tcp" | "udp" | "inference";
http?: boolean;
protocol?: "tcp" | "udp";
}): {
mode?: "http" | "ssh" | "rdp" | "vnc" | "tcp" | "udp";
mode?: "http" | "ssh" | "rdp" | "vnc" | "tcp" | "udp" | "inference";
error?: string;
} {
if (data.mode) {
+2 -1
View File
@@ -637,11 +637,12 @@ export async function listResources(
${resourcePassword.passwordId}
)
`;
const browserGatewayModes = ["http", "ssh", "rdp", "vnc"];
const browserGatewayModes = ["http", "ssh", "rdp", "vnc"] as const;
switch (authState) {
case "none":
conditions.push(
// TODO: Does inference belong here?
or(eq(resources.mode, "tcp"), eq(resources.mode, "udp"))
);
break;