Files
portainer/app/react/docker/containers/ItemView/ContainerActionsSection/SecondaryActions/useCanDuplicateEditContainer.ts
T

31 lines
761 B
TypeScript

import { useIsEdgeAdmin } from '@/react/hooks/useUser';
import { useCurrentEnvironment } from '@/react/hooks/useCurrentEnvironment';
import { isRegularUserRestricted } from './utils';
/**
* Hook to determine if the duplicate/edit button should be displayed
*/
export function useCanDuplicateEditContainer({
autoRemove,
partOfSwarmService,
}: {
autoRemove: boolean;
partOfSwarmService: boolean;
}) {
const environmentQuery = useCurrentEnvironment();
const { isAdmin } = useIsEdgeAdmin();
if (!environmentQuery.data) {
return false;
}
const regularUserRestricted = isRegularUserRestricted(
environmentQuery.data.SecuritySettings
);
return (
!partOfSwarmService && !autoRemove && (isAdmin || !regularUserRestricted)
);
}