Merge branch 'dev' into audit-logs

This commit is contained in:
Owen
2025-10-22 10:34:31 -07:00
5 changed files with 20 additions and 14 deletions

View File

@@ -1068,11 +1068,11 @@
"actionDeleteIdpOrg": "IDP-Organisationsrichtlinie löschen", "actionDeleteIdpOrg": "IDP-Organisationsrichtlinie löschen",
"actionListIdpOrgs": "IDP-Organisationen auflisten", "actionListIdpOrgs": "IDP-Organisationen auflisten",
"actionUpdateIdpOrg": "IDP-Organisation aktualisieren", "actionUpdateIdpOrg": "IDP-Organisation aktualisieren",
"actionCreateClient": "Kunde erstellen", "actionCreateClient": "Client erstellen",
"actionDeleteClient": "Kunde löschen", "actionDeleteClient": "Client löschen",
"actionUpdateClient": "Kunde aktualisieren", "actionUpdateClient": "Client aktualisieren",
"actionListClients": "Kunden auflisten", "actionListClients": "Clients auflisten",
"actionGetClient": "Kunde holen", "actionGetClient": "Clients holen",
"actionCreateSiteResource": "Site-Ressource erstellen", "actionCreateSiteResource": "Site-Ressource erstellen",
"actionDeleteSiteResource": "Site-Ressource löschen", "actionDeleteSiteResource": "Site-Ressource löschen",
"actionGetSiteResource": "Site-Ressource abrufen", "actionGetSiteResource": "Site-Ressource abrufen",
@@ -1149,7 +1149,7 @@
"sidebarAllUsers": "Alle Benutzer", "sidebarAllUsers": "Alle Benutzer",
"sidebarIdentityProviders": "Identitätsanbieter", "sidebarIdentityProviders": "Identitätsanbieter",
"sidebarLicense": "Lizenz", "sidebarLicense": "Lizenz",
"sidebarClients": "Kunden", "sidebarClients": "Clients",
"sidebarDomains": "Domänen", "sidebarDomains": "Domänen",
"enableDockerSocket": "Docker Blaupause aktivieren", "enableDockerSocket": "Docker Blaupause aktivieren",
"enableDockerSocketDescription": "Aktiviere Docker-Socket-Label-Scraping für Blaupausenbeschriftungen. Der Socket-Pfad muss neu angegeben werden.", "enableDockerSocketDescription": "Aktiviere Docker-Socket-Label-Scraping für Blaupausenbeschriftungen. Der Socket-Pfad muss neu angegeben werden.",
@@ -1379,14 +1379,14 @@
}, },
"siteRequired": "Standort ist erforderlich.", "siteRequired": "Standort ist erforderlich.",
"olmTunnel": "Olm-Tunnel", "olmTunnel": "Olm-Tunnel",
"olmTunnelDescription": "Nutzen Sie Olm für die Kundenverbindung", "olmTunnelDescription": "Nutzen Sie Olm für die Client-Verbindung",
"errorCreatingClient": "Fehler beim Erstellen des Clients", "errorCreatingClient": "Fehler beim Erstellen des Clients",
"clientDefaultsNotFound": "Kundenvorgaben nicht gefunden", "clientDefaultsNotFound": "Clientvorgaben nicht gefunden",
"createClient": "Client erstellen", "createClient": "Client erstellen",
"createClientDescription": "Erstellen Sie einen neuen Client für die Verbindung zu Ihren Standorten.", "createClientDescription": "Erstellen Sie einen neuen Client für die Verbindung zu Ihren Standorten.",
"seeAllClients": "Alle Clients anzeigen", "seeAllClients": "Alle Clients anzeigen",
"clientInformation": "Kundeninformationen", "clientInformation": "Client Informationen",
"clientNamePlaceholder": "Kundenname", "clientNamePlaceholder": "Client Name",
"address": "Adresse", "address": "Adresse",
"subnetPlaceholder": "Subnetz", "subnetPlaceholder": "Subnetz",
"addressDescription": "Die Adresse, die dieser Client für die Verbindung verwenden wird.", "addressDescription": "Die Adresse, die dieser Client für die Verbindung verwenden wird.",
@@ -1479,7 +1479,7 @@
"resourcesTableNoInternalResourcesFound": "Keine internen Ressourcen gefunden.", "resourcesTableNoInternalResourcesFound": "Keine internen Ressourcen gefunden.",
"resourcesTableDestination": "Ziel", "resourcesTableDestination": "Ziel",
"resourcesTableTheseResourcesForUseWith": "Diese Ressourcen sind zur Verwendung mit", "resourcesTableTheseResourcesForUseWith": "Diese Ressourcen sind zur Verwendung mit",
"resourcesTableClients": "Kunden", "resourcesTableClients": "Clients",
"resourcesTableAndOnlyAccessibleInternally": "und sind nur intern zugänglich, wenn mit einem Client verbunden.", "resourcesTableAndOnlyAccessibleInternally": "und sind nur intern zugänglich, wenn mit einem Client verbunden.",
"editInternalResourceDialogEditClientResource": "Client-Ressource bearbeiten", "editInternalResourceDialogEditClientResource": "Client-Ressource bearbeiten",
"editInternalResourceDialogUpdateResourceProperties": "Aktualisieren Sie die Ressourceneigenschaften und die Zielkonfiguration für {resourceName}.", "editInternalResourceDialogUpdateResourceProperties": "Aktualisieren Sie die Ressourceneigenschaften und die Zielkonfiguration für {resourceName}.",
@@ -1753,7 +1753,7 @@
"enterpriseEdition": "Enterprise Edition", "enterpriseEdition": "Enterprise Edition",
"unlicensed": "Nicht lizenziert", "unlicensed": "Nicht lizenziert",
"beta": "Beta", "beta": "Beta",
"manageClients": "Kunden verwalten", "manageClients": "Clients verwalten",
"manageClientsDescription": "Clients sind Geräte, die sich mit Ihren Websites verbinden können", "manageClientsDescription": "Clients sind Geräte, die sich mit Ihren Websites verbinden können",
"licenseTableValidUntil": "Gültig bis", "licenseTableValidUntil": "Gültig bis",
"saasLicenseKeysSettingsTitle": "Enterprise-Lizenzen", "saasLicenseKeysSettingsTitle": "Enterprise-Lizenzen",

View File

@@ -126,7 +126,8 @@ export async function getTraefikConfig(
and( and(
isNull(sites.exitNodeId), isNull(sites.exitNodeId),
sql`(${siteTypes.includes("local") ? 1 : 0} = 1)`, // only allow local sites if "local" is in siteTypes sql`(${siteTypes.includes("local") ? 1 : 0} = 1)`, // only allow local sites if "local" is in siteTypes
eq(sites.type, "local") eq(sites.type, "local"),
sql`(${build != "saas" ? 1 : 0} = 1)` // Dont allow undefined local sites in cloud
) )
), ),
or( or(

View File

@@ -63,6 +63,7 @@ function queryAccessTokens(
description: resourceAccessToken.description, description: resourceAccessToken.description,
createdAt: resourceAccessToken.createdAt, createdAt: resourceAccessToken.createdAt,
resourceName: resources.name, resourceName: resources.name,
resourceNiceId: resources.niceId,
siteName: sites.name siteName: sites.name
}; };

View File

@@ -98,6 +98,7 @@ export default function CreateShareLinkForm({
{ {
resourceId: number; resourceId: number;
name: string; name: string;
niceId: string;
resourceUrl: string; resourceUrl: string;
}[] }[]
>([]); >([]);
@@ -160,6 +161,7 @@ export default function CreateShareLinkForm({
.map((r) => ({ .map((r) => ({
resourceId: r.resourceId, resourceId: r.resourceId,
name: r.name, name: r.name,
niceId: r.niceId,
resourceUrl: `${r.ssl ? "https://" : "http://"}${toUnicode(r.fullDomain || "")}/` resourceUrl: `${r.ssl ? "https://" : "http://"}${toUnicode(r.fullDomain || "")}/`
})) }))
); );
@@ -233,6 +235,7 @@ export default function CreateShareLinkForm({
accessTokenId: token.accessTokenId, accessTokenId: token.accessTokenId,
resourceId: token.resourceId, resourceId: token.resourceId,
resourceName: values.resourceName, resourceName: values.resourceName,
resourceNiceId: resource ? resource.niceId : "",
title: token.title, title: token.title,
createdAt: token.createdAt, createdAt: token.createdAt,
expiresAt: token.expiresAt expiresAt: token.expiresAt

View File

@@ -39,6 +39,7 @@ export type ShareLinkRow = {
accessTokenId: string; accessTokenId: string;
resourceId: number; resourceId: number;
resourceName: string; resourceName: string;
resourceNiceId: string;
title: string | null; title: string | null;
createdAt: number; createdAt: number;
expiresAt: number | null; expiresAt: number | null;
@@ -120,7 +121,7 @@ export default function ShareLinksTable({
cell: ({ row }) => { cell: ({ row }) => {
const r = row.original; const r = row.original;
return ( return (
<Link href={`/${orgId}/settings/resources/${r.resourceId}`}> <Link href={`/${orgId}/settings/resources/${r.resourceNiceId}`}>
<Button variant="outline" size="sm"> <Button variant="outline" size="sm">
{r.resourceName} {r.resourceName}
<ArrowUpRight className="ml-2 h-4 w-4" /> <ArrowUpRight className="ml-2 h-4 w-4" />