Skip to content

Commit 3037c1f

Browse files
authored
Merge pull request #485 from devtron-labs/fix/inegrate-scans
fix: integrate scans
2 parents e67e490 + 6ead9e2 commit 3037c1f

File tree

5 files changed

+55
-23
lines changed

5 files changed

+55
-23
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@devtron-labs/devtron-fe-common-lib",
3-
"version": "1.3.9-beta-2",
3+
"version": "1.3.9-beta-5",
44
"description": "Supporting common component library",
55
"type": "module",
66
"main": "dist/index.js",

src/Shared/Components/Security/SecurityModal/SecurityModal.tsx

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ import { ReactComponent as ICBack } from '@Icons/ic-caret-left-small.svg'
1717
import { Button, ButtonStyleType, ButtonVariantType } from '@Shared/Components/Button'
1818
import { ComponentSizeType } from '@Shared/constants'
1919
import { Table, InfoCard } from './components'
20-
import { DEFAULT_SECURITY_MODAL_STATE } from './constants'
20+
import { getDefaultSecurityModalState } from './constants'
2121
import { getTableData, getInfoCardData } from './config'
22-
import { SecurityModalPropsType, SecurityModalStateType, DetailViewDataType } from './types'
22+
import { SecurityModalPropsType, SecurityModalStateType, DetailViewDataType, SidebarPropsType } from './types'
2323
import { getEmptyStateValues } from './config/EmptyState'
2424
import './styles.scss'
2525

@@ -41,10 +41,17 @@ const SecurityModal: React.FC<SecurityModalPropsType> = ({
4141
responseData,
4242
hidePolicy = false,
4343
}) => {
44-
const [state, setState] = useState<SecurityModalStateType>(DEFAULT_SECURITY_MODAL_STATE)
45-
4644
const data = responseData ?? null
4745

46+
const categoriesConfig: SidebarPropsType['categoriesConfig'] = {
47+
imageScan: !!data?.imageScan,
48+
imageScanLicenseRisks: !!data?.imageScan?.license,
49+
codeScan: !!data?.codeScan,
50+
kubernetesManifest: !!data?.kubernetesManifest,
51+
}
52+
53+
const [state, setState] = useState<SecurityModalStateType>(getDefaultSecurityModalState(categoriesConfig))
54+
4855
const setDetailViewData = (detailViewData: DetailViewDataType) => {
4956
setState((prevState) => ({
5057
...prevState,
@@ -152,18 +159,7 @@ const SecurityModal: React.FC<SecurityModalPropsType> = ({
152159
/* NOTE: the height is restricted to (viewport - header) height since we need overflow-scroll */
153160
<div className="flexbox" style={{ height: 'calc(100vh - 49px)' }}>
154161
{/* NOTE: only show sidebar in AppDetails */}
155-
{Sidebar && (
156-
<Sidebar
157-
modalState={state}
158-
setModalState={setState}
159-
categoriesConfig={{
160-
imageScan: !!data?.imageScan,
161-
imageScanLicenseRisks: !!data?.imageScan?.license,
162-
codeScan: !!data?.codeScan,
163-
kubernetesManifest: !!data?.kubernetesManifest,
164-
}}
165-
/>
166-
)}
162+
{Sidebar && <Sidebar modalState={state} setModalState={setState} categoriesConfig={categoriesConfig} />}
167163
<div className="dc__border-right-n1 h-100" />
168164
<div className="dc__overflow-scroll flex-grow-1" style={{ width: '744px' }}>
169165
{selectedDetailViewData && renderDetailViewSubHeader()}

src/Shared/Components/Security/SecurityModal/constants.tsx

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,50 @@
55
import { SCAN_TOOL_ID_CLAIR, SCAN_TOOL_ID_TRIVY } from '@Shared/constants'
66
import PageNotFound from '@Images/ic-page-not-found.svg'
77
import { ReactComponent as MechanicalOperation } from '@Icons/ic-mechanical-operation.svg'
8-
import { CATEGORIES, SUB_CATEGORIES, SeveritiesDTO, SortOrderEnum, EmptyStateType, StatusType } from './types'
8+
import {
9+
CATEGORIES,
10+
SUB_CATEGORIES,
11+
SeveritiesDTO,
12+
SortOrderEnum,
13+
EmptyStateType,
14+
StatusType,
15+
SidebarPropsType,
16+
SecurityModalStateType,
17+
} from './types'
918

10-
export const DEFAULT_SECURITY_MODAL_STATE = {
19+
const DEFAULT_SECURITY_MODAL_IMAGE_STATE = {
1120
category: CATEGORIES.IMAGE_SCAN,
1221
subCategory: SUB_CATEGORIES.VULNERABILITIES,
1322
detailViewData: null,
1423
}
1524

25+
const DEFAULT_SECURITY_MODAL_CODE_STATE = {
26+
category: CATEGORIES.CODE_SCAN,
27+
subCategory: SUB_CATEGORIES.VULNERABILITIES,
28+
detailViewData: null,
29+
}
30+
31+
const DEFAULT_SECURITY_MODAL_MANIFEST_STATE = {
32+
category: CATEGORIES.KUBERNETES_MANIFEST,
33+
subCategory: SUB_CATEGORIES.MISCONFIGURATIONS,
34+
detailViewData: null,
35+
}
36+
37+
export const getDefaultSecurityModalState = (
38+
categoriesConfig: SidebarPropsType['categoriesConfig'],
39+
): SecurityModalStateType => {
40+
if (categoriesConfig.imageScan) {
41+
return DEFAULT_SECURITY_MODAL_IMAGE_STATE
42+
}
43+
if (categoriesConfig.codeScan) {
44+
return DEFAULT_SECURITY_MODAL_CODE_STATE
45+
}
46+
if (categoriesConfig.kubernetesManifest) {
47+
return DEFAULT_SECURITY_MODAL_MANIFEST_STATE
48+
}
49+
return DEFAULT_SECURITY_MODAL_IMAGE_STATE
50+
}
51+
1652
export const CATEGORY_LABELS = {
1753
IMAGE_SCAN: 'Image Scan',
1854
CODE_SCAN: 'Code Scan',

src/Shared/Components/Security/Vulnerabilities/Vulnerabilities.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const Vulnerabilities = ({
3333
SecurityModalSidebar,
3434
}: VulnerabilitiesProps) => {
3535
const [scanResultLoading, scanResultResponse, scanResultError, reloadScanResult] = useAsync(
36-
() => getSecurityScan({ artifactId, appId: applicationId }),
36+
() => getSecurityScan({ artifactId, appId: applicationId, envId: environmentId }),
3737
[],
3838
isScanned && isScanEnabled,
3939
{
@@ -43,7 +43,7 @@ const Vulnerabilities = ({
4343

4444
useEffect(() => {
4545
if (scanResultResponse) {
46-
setVulnerabilityCount(scanResultResponse.result.imageScan.vulnerability?.list?.[0].list?.length)
46+
setVulnerabilityCount(scanResultResponse.result.imageScan?.vulnerability?.list?.[0].list?.length)
4747
}
4848
}, [scanResultResponse])
4949

0 commit comments

Comments
 (0)