1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-25 08:19:40 +02:00

feat(app): limit the docker API version supported by the frontend (#11855)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run

This commit is contained in:
LP B 2024-06-10 20:54:31 +02:00 committed by GitHub
parent 4ba16f1b04
commit 6a8e6734f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
212 changed files with 4439 additions and 3281 deletions

View file

@ -1,5 +0,0 @@
import { EnvironmentId } from '@/react/portainer/environments/types';
export function buildUrl(environmentId: EnvironmentId, path: string) {
return `/docker/${environmentId}/${path}`;
}

View file

@ -0,0 +1,50 @@
import { compact } from 'lodash';
import { EnvironmentId } from '@/react/portainer/environments/types';
/**
* Build docker URL for Environment
*
* @param environmentId
* @param action
* @param subSegments Sub segments are only added to the URL when they are not `undefined`.
* @returns `/docker/{environmentId}/{action}/{subSegments[0]}/{subSegments[1]}/...`
*
* @example
* // all calls return /docker/1/action/sub1/sub2
* buildDockerUrl(1, 'action', 'sub1', 'sub2');
* buildDockerUrl(1, 'action', undefined, 'sub1', undefined, 'sub2');
*
* @example
* function buildUrl(endpointId: EnvironmentId, id?: ServiceId, action?: string) {
* return buildDockerUrl(endpointId, 'services', id, action);
*}
*
* // returns /docker/1/services/ubx3r/update
* buildUrl(1, 'ubx3r', 'update')
*
* // returns /docker/1/services/update
* buildUrl(1, undefined, 'update')
*
* // returns /docker/1/services/ubx3r
* buildUrl(1, 'ubx3r') // = buildUrl(1, 'ubx3r', undefined)
*
* // returns /docker/1/services
* buildUrl(1) // = buildUrl(1, undefined, undefined)
*
*/
export function buildDockerUrl(
environmentId: EnvironmentId,
action: string,
...subSegments: unknown[]
) {
let url = `/docker/${environmentId}/${action}`;
const joined = compact(subSegments).join('/');
if (joined) {
url += `/${joined}`;
}
return url;
}

View file

@ -1,4 +1,4 @@
import { DockerContainer } from '@/react/docker/containers/types';
import { ContainerListViewModel } from '@/react/docker/containers/types';
import { EdgeStack } from '@/react/edge/edge-stacks/types';
import { EnvironmentId } from '@/react/portainer/environments/types';
@ -18,13 +18,13 @@ export const queryKeys = {
) => [...queryKeys.containers(environmentId), params] as const,
container: (
environmentId: EnvironmentId,
containerId: DockerContainer['Id']
containerId: ContainerListViewModel['Id']
) => [...queryKeys.containers(environmentId), containerId] as const,
};
export function buildDockerSnapshotContainersUrl(
environmentId: EnvironmentId,
containerId?: DockerContainer['Id']
containerId?: ContainerListViewModel['Id']
) {
let url = `${buildDockerSnapshotUrl(environmentId)}/containers`;

View file

@ -1,5 +1,7 @@
import { EnvironmentId } from '@/react/portainer/environments/types';
import { buildDockerUrl } from './buildDockerUrl';
export const queryKeys = {
root: (environmentId: EnvironmentId) => ['docker', environmentId] as const,
snapshot: (environmentId: EnvironmentId) =>
@ -10,10 +12,6 @@ export const queryKeys = {
[...queryKeys.root(environmentId), 'plugins'] as const,
};
export function buildDockerUrl(environmentId: EnvironmentId) {
return `/docker/${environmentId}`;
}
export function buildDockerSnapshotUrl(environmentId: EnvironmentId) {
return `${buildDockerUrl(environmentId)}/snapshot`;
return buildDockerUrl(environmentId, 'snapshot');
}