Skip to content

Commit f70c4d8

Browse files
committed
feat: add fallback in execution details api
1 parent bd56c7d commit f70c4d8

File tree

7 files changed

+18
-16
lines changed

7 files changed

+18
-16
lines changed

src/Shared/Components/ImageCardAccordion/ImageCardAccordion.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ const ImageCardAccordion = ({
4848
changesCard,
4949
isScanned,
5050
isScanEnabled,
51-
isScanV2Enabled,
5251
SecurityModalSidebar,
5352
getSecurityScan,
5453
}: ImageCardAccordionProps) => {
@@ -77,7 +76,6 @@ const ImageCardAccordion = ({
7776
applicationId={applicationId}
7877
environmentId={environmentId}
7978
setVulnerabilityCount={setVulnerabilityCount}
80-
isScanV2Enabled={isScanV2Enabled}
8179
SecurityModalSidebar={SecurityModalSidebar}
8280
getSecurityScan={getSecurityScan}
8381
/>

src/Shared/Components/ImageCardAccordion/types.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ export interface ImageCardAccordionProps extends MaterialSecurityInfoType {
2727
changesCard: ReactNode
2828
isScanned: boolean
2929
isScanEnabled: boolean
30-
isScanV2Enabled: boolean
3130
SecurityModalSidebar: React.FC<SidebarPropsType>
32-
getSecurityScan: ({ appId, envId, artifactId }: AppDetailsPayload) => Promise<ResponseType<ApiResponseResultType>>
31+
getSecurityScan: ({
32+
appId,
33+
envId,
34+
artifactId,
35+
}: Pick<AppDetailsPayload, 'appId' | 'envId' | 'artifactId'>) => Promise<ResponseType<ApiResponseResultType>>
3336
}
3437

3538
export interface SecurityDetailsType {

src/Shared/Components/Security/SecurityModal/service.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ export const getExecutionDetails = async (
1919
scanExecutionId: response.result.ScanExecutionId,
2020
lastExecution: response.result.executionTime,
2121
objectType: response.result.objectType,
22-
vulnerabilities: response.result.vulnerabilities?.map((cve) => ({
23-
name: cve.cveName,
24-
severity: cve.severity,
25-
package: cve.package,
26-
version: cve.currentVersion,
27-
fixedVersion: cve.fixedVersion,
28-
policy: cve.permission,
29-
})),
22+
vulnerabilities:
23+
response.result?.vulnerabilities?.map((cve) => ({
24+
name: cve.cveName,
25+
severity: cve.severity,
26+
package: cve.package,
27+
version: cve.currentVersion,
28+
fixedVersion: cve.fixedVersion,
29+
policy: cve.permission,
30+
})) || [],
3031
}
3132
return { ...response, result: parseExecutionDetailResponse(parsedResult) }
3233
}

src/Shared/Components/Security/SecurityModal/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import React from 'react'
66
import { GenericEmptyStateType } from '@Common/Types'
77
import { LastExecutionResultType, NodeType, Nodes } from '@Shared/types'
88
import { SegmentedBarChartProps } from '@Common/SegmentedBarChart'
9+
import { ServerErrors } from '@Common/ServerError'
910

1011
export interface GetResourceScanDetailsPayloadType {
1112
name: string
@@ -248,7 +249,7 @@ export type ApiResponseResultType = {
248249

249250
interface SecurityModalBaseProps extends Partial<Pick<SidebarPropsType, 'isExternalCI'>> {
250251
isLoading: boolean
251-
error: any
252+
error: ServerErrors
252253
responseData: ApiResponseResultType
253254
handleModalClose: (event?: React.MouseEvent<HTMLElement>) => void
254255
Sidebar: React.FC<SidebarPropsType>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ const Vulnerabilities = ({
3232
applicationId,
3333
environmentId,
3434
setVulnerabilityCount,
35-
isScanV2Enabled,
3635
SecurityModalSidebar,
3736
getSecurityScan,
3837
}: VulnerabilitiesProps) => {
38+
const isScanV2Enabled = window._env_.ENABLE_RESOURCE_SCAN_V2
3939
const { scanDetailsLoading, scanResultResponse, executionDetailsResponse, scanDetailsError, reloadScanDetails } =
4040
useGetSecurityVulnerabilities({
4141
appId: String(applicationId),

src/Shared/Components/Security/Vulnerabilities/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ export interface VulnerabilitiesProps
2727
applicationId: number
2828
environmentId: number
2929
setVulnerabilityCount: React.Dispatch<React.SetStateAction<number>>
30-
isScanV2Enabled: boolean
3130
}
3231

3332
export interface UseGetSecurityVulnerabilitiesProps extends Pick<ImageCardAccordionProps, 'getSecurityScan'> {

src/Shared/Components/Security/Vulnerabilities/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export const useGetSecurityVulnerabilities = ({
8585
const [scanResultLoading, scanResultResponse, scanResultError, reloadScanResult] = useAsync(
8686
() => getSecurityScan({ artifactId, appId, envId }),
8787
[],
88-
isScanned && isScanEnabled && isScanV2Enabled,
88+
isScanned && isScanEnabled && isScanV2Enabled && !!getSecurityScan,
8989
{
9090
resetOnChange: false,
9191
},

0 commit comments

Comments
 (0)