Compliance: refactor handlePackages duplicate
This commit is contained in:
parent
c026102dd3
commit
128abcb98f
3 changed files with 32 additions and 40 deletions
|
|
@ -24,7 +24,6 @@ import {
|
|||
} from '../../../../../store/imageBuilderApi';
|
||||
import {
|
||||
addKernelArg,
|
||||
addPackage,
|
||||
addPartition,
|
||||
changeCompliance,
|
||||
changeDisabledServices,
|
||||
|
|
@ -93,7 +92,7 @@ const PolicySelector = () => {
|
|||
const hasWslTargetOnly = useHasSpecificTargetOnly('wsl');
|
||||
const dispatch = useAppDispatch();
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
const { clearCompliancePackages } = useSelectorHandlers();
|
||||
const { clearCompliancePackages, handlePackages } = useSelectorHandlers();
|
||||
|
||||
const {
|
||||
data: policies,
|
||||
|
|
@ -152,23 +151,6 @@ const PolicySelector = () => {
|
|||
dispatch(clearKernelAppend());
|
||||
};
|
||||
|
||||
const handlePackages = (
|
||||
oldOscapPackages: string[],
|
||||
newOscapPackages: string[]
|
||||
) => {
|
||||
clearCompliancePackages(oldOscapPackages);
|
||||
|
||||
for (const pkg of newOscapPackages) {
|
||||
dispatch(
|
||||
addPackage({
|
||||
name: pkg,
|
||||
summary: 'Required by chosen compliance policy',
|
||||
repository: 'distro',
|
||||
})
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
const handlePartitions = (oscapPartitions: Filesystem[]) => {
|
||||
dispatch(clearPartitions());
|
||||
|
||||
|
|
@ -226,7 +208,11 @@ const PolicySelector = () => {
|
|||
const oscapPartitions = response.filesystem || [];
|
||||
const newOscapPackages = response.packages || [];
|
||||
handlePartitions(oscapPartitions);
|
||||
handlePackages(oldOscapPackages, newOscapPackages);
|
||||
handlePackages(
|
||||
oldOscapPackages,
|
||||
newOscapPackages,
|
||||
'Required by chosen compliance policy'
|
||||
);
|
||||
handleServices(response.services);
|
||||
handleKernelAppend(response.kernel?.append);
|
||||
dispatch(
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ const ProfileSelector = () => {
|
|||
>([]);
|
||||
const complianceType = useAppSelector(selectComplianceType);
|
||||
const prefetchProfile = useBackendPrefetch('getOscapCustomizations');
|
||||
const { clearCompliancePackages } = useSelectorHandlers();
|
||||
const { clearCompliancePackages, handlePackages } = useSelectorHandlers();
|
||||
|
||||
const {
|
||||
data: profiles,
|
||||
|
|
@ -191,23 +191,6 @@ const ProfileSelector = () => {
|
|||
setFilterValue('');
|
||||
};
|
||||
|
||||
const handlePackages = (
|
||||
oldOscapPackages: string[],
|
||||
newOscapPackages: string[]
|
||||
) => {
|
||||
clearCompliancePackages(oldOscapPackages);
|
||||
|
||||
for (const pkg of newOscapPackages) {
|
||||
dispatch(
|
||||
addPackage({
|
||||
name: pkg,
|
||||
summary: 'Required by chosen OpenSCAP profile',
|
||||
repository: 'distro',
|
||||
})
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
const handlePartitions = (oscapPartitions: Filesystem[]) => {
|
||||
dispatch(clearPartitions());
|
||||
|
||||
|
|
@ -309,7 +292,11 @@ const ProfileSelector = () => {
|
|||
const oscapPartitions = response.filesystem || [];
|
||||
const newOscapPackages = response.packages || [];
|
||||
handlePartitions(oscapPartitions);
|
||||
handlePackages(oldOscapPackages, newOscapPackages);
|
||||
handlePackages(
|
||||
oldOscapPackages,
|
||||
newOscapPackages,
|
||||
'Required by chosen OpenSCAP profile'
|
||||
);
|
||||
handleServices(response.services);
|
||||
handleKernelAppend(response.kernel?.append);
|
||||
dispatch(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useAppDispatch } from '../../../../../store/hooks';
|
||||
import { removePackage } from '../../../../../store/wizardSlice';
|
||||
import { addPackage, removePackage } from '../../../../../store/wizardSlice';
|
||||
|
||||
export const useSelectorHandlers = () => {
|
||||
const dispatch = useAppDispatch();
|
||||
|
|
@ -10,7 +10,26 @@ export const useSelectorHandlers = () => {
|
|||
}
|
||||
};
|
||||
|
||||
const handlePackages = (
|
||||
oldOscapPackages: string[],
|
||||
newOscapPackages: string[],
|
||||
reason: string
|
||||
) => {
|
||||
clearCompliancePackages(oldOscapPackages);
|
||||
|
||||
for (const pkg of newOscapPackages) {
|
||||
dispatch(
|
||||
addPackage({
|
||||
name: pkg,
|
||||
summary: reason,
|
||||
repository: 'distro',
|
||||
})
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
clearCompliancePackages,
|
||||
handlePackages,
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue