Files
portainer/app/react/docker/containers/ItemView/ContainerActionsSection/queries/useStartContainer.ts
T

37 lines
1.0 KiB
TypeScript

import { useMutation, useQueryClient } from '@tanstack/react-query';
import { withGlobalError } from '@/react-tools/react-query';
import { EnvironmentId } from '@/react/portainer/environments/types';
import { startContainer } from '../../../containers.service';
import { ContainerId } from '../../../types';
import { queryKeys as containerQueryKeys } from '../../../queries/query-keys';
interface ContainerActionParams {
environmentId: EnvironmentId;
containerId: ContainerId;
nodeName?: string;
}
export function useStartContainer() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: ({
environmentId,
containerId,
nodeName,
}: ContainerActionParams) =>
startContainer(environmentId, containerId, { nodeName }),
onSuccess: (_data, variables) => {
queryClient.invalidateQueries({
queryKey: containerQueryKeys.container(
variables.environmentId,
variables.containerId
),
});
},
...withGlobalError('Unable to start container'),
});
}