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

fix(errors): surface react docker errors to front end [EE-7053] (#11726)

Co-authored-by: testa113 <testa113>
This commit is contained in:
Ali 2024-05-13 15:34:00 +12:00 committed by GitHub
parent 55667a878a
commit 6b5a402962
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 107 additions and 142 deletions

View file

@ -1,16 +1,14 @@
import { useQuery } from '@tanstack/react-query';
import { EnvironmentId } from '@/react/portainer/environments/types';
import axios, {
agentTargetHeader,
parseAxiosError,
} from '@/portainer/services/axios';
import axios, { parseAxiosError } from '@/portainer/services/axios';
import { withGlobalError } from '@/react-tools/react-query';
import { urlBuilder } from '../containers.service';
import { DockerContainerResponse } from '../types/response';
import { toListViewModel } from '../utils';
import { DockerContainer } from '../types';
import { addNodeHeader } from '../../proxy/addNodeHeader';
import { Filters } from './types';
import { queryKeys } from './query-keys';
@ -52,16 +50,13 @@ export async function getContainers(
environmentId: EnvironmentId,
{ all = true, filters, nodeName }: UseContainers = {}
) {
const headers = addNodeHeader(nodeName);
try {
const { data } = await axios.get<DockerContainerResponse[]>(
urlBuilder(environmentId, undefined, 'json'),
{
params: { all, filters: filters && JSON.stringify(filters) },
headers: nodeName
? {
[agentTargetHeader]: nodeName,
}
: undefined,
headers,
}
);
return data.map((c) => toListViewModel(c));

View file

@ -6,7 +6,7 @@ import { genericHandler } from '@/docker/rest/response/handlers';
import { ContainerId } from '../types';
import { urlBuilder } from '../containers.service';
import { addNodeName } from '../../proxy/addNodeName';
import { addNodeHeader } from '../../proxy/addNodeHeader';
import { queryKeys } from './query-keys';
import { ContainerJSON } from './container';
@ -30,7 +30,7 @@ export async function inspectContainer(
try {
const { data } = await axios.get<ContainerJSON>(
urlBuilder(environmentId, id, 'json'),
{ transformResponse: genericHandler, headers: addNodeName(nodeName) }
{ transformResponse: genericHandler, headers: addNodeHeader(nodeName) }
);
return data;
} catch (e) {

View file

@ -1,10 +1,10 @@
import { Resources, RestartPolicy } from 'docker-types/generated/1.41';
import { RawAxiosRequestHeaders } from 'axios';
import axios, { parseAxiosError } from '@/portainer/services/axios';
import { EnvironmentId } from '@/react/portainer/environments/types';
import { urlBuilder } from '../containers.service';
import { addNodeHeader } from '../../proxy/addNodeHeader';
/**
* UpdateConfig holds the mutable attributes of a Container.
@ -22,11 +22,7 @@ export async function updateContainer(
config: UpdateConfig,
{ nodeName }: { nodeName?: string } = {}
) {
const headers: RawAxiosRequestHeaders = {};
if (nodeName) {
headers['X-PortainerAgent-Target'] = nodeName;
}
const headers = addNodeHeader(nodeName);
try {
await axios.post<{ Warnings: string[] }>(