Merge should be complete

This commit is contained in:
Julian van der Horst
2026-07-07 11:57:43 +02:00
parent de67f06b43
commit a8c1ddb448
4 changed files with 23 additions and 8 deletions
+18 -7
View File
@@ -237,10 +237,18 @@ export async function updatePublicResources(
resourceData.ssl == undefined || resourceData.ssl == null resourceData.ssl == undefined || resourceData.ssl == null
? true ? true
: resourceData.ssl; : resourceData.ssl;
let headers = ""; // `headers` is a deprecated alias for `requestHeaders`
if (resourceData.headers) { const mergedRequestHeaders = [
headers = JSON.stringify(resourceData.headers); ...(resourceData.headers ?? []),
} ...(resourceData.requestHeaders ?? [])
];
const requestHeaders =
mergedRequestHeaders.length > 0
? JSON.stringify(mergedRequestHeaders)
: null;
const responseHeaders = resourceData.responseHeaders?.length
? JSON.stringify(resourceData.responseHeaders)
: null;
if (["ssh", "rdp", "vnc"].includes(resourceData.mode || "")) { if (["ssh", "rdp", "vnc"].includes(resourceData.mode || "")) {
const isLicensed = await isLicensedOrSubscribed( const isLicensed = await isLicensedOrSubscribed(
@@ -380,7 +388,8 @@ export async function updatePublicResources(
? resourceData.auth["whitelist-users"].length > ? resourceData.auth["whitelist-users"].length >
0 0
: false, : false,
headers: headers || null, requestHeaders,
responseHeaders,
applyRules: applyRules:
resourceData.rules && resourceData.rules &&
resourceData.rules.length > 0, resourceData.rules.length > 0,
@@ -566,7 +575,8 @@ export async function updatePublicResources(
setHostHeader: resourceData["host-header"] || null, setHostHeader: resourceData["host-header"] || null,
tlsServerName: tlsServerName:
resourceData["tls-server-name"] || null, resourceData["tls-server-name"] || null,
headers: headers || null, requestHeaders,
responseHeaders,
maintenanceModeEnabled: maintenanceModeEnabled:
resourceData.maintenance?.enabled, resourceData.maintenance?.enabled,
maintenanceModeType: resourceData.maintenance?.type, maintenanceModeType: resourceData.maintenance?.type,
@@ -1152,7 +1162,8 @@ export async function updatePublicResources(
setHostHeader: resourceData["host-header"] || null, setHostHeader: resourceData["host-header"] || null,
tlsServerName: resourceData["tls-server-name"] || null, tlsServerName: resourceData["tls-server-name"] || null,
ssl: resourceSsl, ssl: resourceSsl,
headers: headers || null, requestHeaders,
responseHeaders,
applyRules: applyRules:
resourceData.rules && resourceData.rules.length > 0, resourceData.rules && resourceData.rules.length > 0,
pamMode: resourceData["auth-daemon"]?.pam || "passthrough", pamMode: resourceData["auth-daemon"]?.pam || "passthrough",
+5 -1
View File
@@ -663,6 +663,10 @@ async function updateHttpResource(
responseHeaders = null; responseHeaders = null;
} }
updateData.headers = undefined;
updateData.requestHeaders = undefined;
updateData.responseHeaders = undefined;
if (!isLicensed) { if (!isLicensed) {
updateData.maintenanceModeEnabled = undefined; updateData.maintenanceModeEnabled = undefined;
updateData.maintenanceModeType = undefined; updateData.maintenanceModeType = undefined;
@@ -715,7 +719,7 @@ async function updateHttpResource(
const updatedResource = await db const updatedResource = await db
.update(resources) .update(resources)
.set({ ...resourceOnlyData, headers }) .set({ ...resourceOnlyData, requestHeaders, responseHeaders })
.where(eq(resources.resourceId, resource.resourceId)) .where(eq(resources.resourceId, resource.resourceId))
.returning(); .returning();