37 lines
1.0 KiB
TypeScript
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 { resumeContainer } 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 useResumeContainer() {
|
|
const queryClient = useQueryClient();
|
|
|
|
return useMutation({
|
|
mutationFn: ({
|
|
environmentId,
|
|
containerId,
|
|
nodeName,
|
|
}: ContainerActionParams) =>
|
|
resumeContainer(environmentId, containerId, { nodeName }),
|
|
onSuccess: (_data, variables) => {
|
|
queryClient.invalidateQueries({
|
|
queryKey: containerQueryKeys.container(
|
|
variables.environmentId,
|
|
variables.containerId
|
|
),
|
|
});
|
|
},
|
|
...withGlobalError('Unable to resume container'),
|
|
});
|
|
}
|