From 637f0de024fc731a36bc6d960f0d2209c385137e Mon Sep 17 00:00:00 2001 From: milan-deepfence Date: Mon, 10 Jun 2024 20:45:10 +0530 Subject: [PATCH] fix missing posture scan status --- .../components/IntegrationForm.tsx | 42 ++++++++++++++----- .../integrations/pages/IntegrationAdd.tsx | 2 +- .../apps/dashboard/src/utils/enum.ts | 30 +++++++++++++ 3 files changed, 62 insertions(+), 12 deletions(-) diff --git a/deepfence_frontend/apps/dashboard/src/features/integrations/components/IntegrationForm.tsx b/deepfence_frontend/apps/dashboard/src/features/integrations/components/IntegrationForm.tsx index e2c33ef86c..80a51534ee 100644 --- a/deepfence_frontend/apps/dashboard/src/features/integrations/components/IntegrationForm.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/integrations/components/IntegrationForm.tsx @@ -12,6 +12,8 @@ import { } from 'ui-components'; import { + ModelCloudComplianceStatusEnum, + ModelComplianceStatusEnum, ModelIntegrationFilters, ModelIntegrationListResp, ModelNodeIdentifierNodeTypeEnum, @@ -24,6 +26,7 @@ import { SearchableImageList } from '@/components/forms/SearchableImageList'; import { FieldSelection } from '@/features/integrations/components/report-form/FieldSelection'; import { SuccessModalContent } from '@/features/settings/components/SuccessModalContent'; import { ScanTypeEnum } from '@/types/common'; +import { getPostureStatusPrettyName } from '@/utils/enum'; import { ActionEnumType, @@ -343,17 +346,31 @@ const AdvancedFilters = ({ }} >
Host
- Alarm - Note - Ok + + {getPostureStatusPrettyName(ModelCloudComplianceStatusEnum.Alarm)} + + + {getPostureStatusPrettyName(ModelComplianceStatusEnum.Note)} + + + {getPostureStatusPrettyName(ModelCloudComplianceStatusEnum.Ok)} +
Kubernetes
- Pass - Skip - Warn + + {getPostureStatusPrettyName(ModelComplianceStatusEnum.Pass)} + + + {getPostureStatusPrettyName(ModelCloudComplianceStatusEnum.Skip)} + + + {getPostureStatusPrettyName(ModelComplianceStatusEnum.Warn)} +
Common
- Info + + {getPostureStatusPrettyName(ModelCloudComplianceStatusEnum.Info)} + )} {isCloudComplianceNotification(notificationType) && ( @@ -373,10 +390,13 @@ const AdvancedFilters = ({ return value && value.length ? `${value.length} selected` : ''; }} > - Pass - Skip - Warn - Info + {Object.values(ModelCloudComplianceStatusEnum).map((status) => { + return ( + + {getPostureStatusPrettyName(status)} + + ); + })} )} diff --git a/deepfence_frontend/apps/dashboard/src/features/integrations/pages/IntegrationAdd.tsx b/deepfence_frontend/apps/dashboard/src/features/integrations/pages/IntegrationAdd.tsx index db6d0b1aa6..3b17f2a36f 100644 --- a/deepfence_frontend/apps/dashboard/src/features/integrations/pages/IntegrationAdd.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/integrations/pages/IntegrationAdd.tsx @@ -280,7 +280,7 @@ const action = async ({ request, params }: ActionFunctionArgs): Promise status.toLowerCase()), + status: statusFilter, }; _filters.fields_filters.contains_filter.filter_in = newFilter; } diff --git a/deepfence_frontend/apps/dashboard/src/utils/enum.ts b/deepfence_frontend/apps/dashboard/src/utils/enum.ts index 3238b27472..a719beb4e6 100644 --- a/deepfence_frontend/apps/dashboard/src/utils/enum.ts +++ b/deepfence_frontend/apps/dashboard/src/utils/enum.ts @@ -1,5 +1,7 @@ import { ModelBenchmarkType, + ModelCloudComplianceStatusEnum, + ModelComplianceStatusEnum, ModelMalwareFileSeverityEnum, ModelSecretLevelEnum, ModelVulnerabilityCveSeverityEnum, @@ -41,3 +43,31 @@ export function getBenchmarkPrettyName(backendBenchmark: ModelBenchmarkType) { throw new Error(`Unhandled case: ${_exhaustiveCheck}`); } } + +export function getPostureStatusPrettyName( + status: ModelCloudComplianceStatusEnum | ModelComplianceStatusEnum, +) { + switch (status) { + case ModelCloudComplianceStatusEnum.Alarm: + return 'Alarm'; + case ModelCloudComplianceStatusEnum.Info: + return 'Info'; + case ModelCloudComplianceStatusEnum.Ok: + return 'Ok'; + case ModelCloudComplianceStatusEnum.Skip: + return 'Skip'; + case ModelCloudComplianceStatusEnum.Delete: + return 'Delete'; + case ModelComplianceStatusEnum.Pass: + return 'Pass'; + case ModelComplianceStatusEnum.Warn: + return 'Warn'; + case ModelComplianceStatusEnum.Note: + return 'Note'; + + default: + // eslint-disable-next-line no-case-declarations + const _exhaustiveCheck: never = status; + throw new Error(`Unhandled case: ${_exhaustiveCheck}`); + } +}