5eaf145eda
Co-authored-by: Ali <83188384+testA113@users.noreply.github.com>
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
|
|
import { withError } from '@/react-tools/react-query';
|
|
import { EnvironmentId } from '@/react/portainer/environments/types';
|
|
|
|
import { killContainer } 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 useKillContainer() {
|
|
const queryClient = useQueryClient();
|
|
|
|
return useMutation({
|
|
mutationFn: ({
|
|
environmentId,
|
|
containerId,
|
|
nodeName,
|
|
}: ContainerActionParams) =>
|
|
killContainer(environmentId, containerId, { nodeName }),
|
|
onSuccess: (_data, variables) => {
|
|
queryClient.invalidateQueries({
|
|
queryKey: containerQueryKeys.container(
|
|
variables.environmentId,
|
|
variables.containerId
|
|
),
|
|
});
|
|
},
|
|
...withError('Unable to kill container'),
|
|
});
|
|
}
|