diff --git a/web/package.json b/web/package.json index a4f68a4876..d4869c0a85 100644 --- a/web/package.json +++ b/web/package.json @@ -51,7 +51,7 @@ "@codemirror/view": "^6.9.6", "@harnessio/design-system": "^2.1.1", "@harnessio/icons": "^2.1.18", - "@harnessio/react-har-service-client": "0.48.0", + "@harnessio/react-har-service-client": "0.49.0", "@harnessio/react-ng-manager-client": "^1.40.0", "@harnessio/react-ssca-manager-client": "^0.65.0", "@harnessio/uicore": "^4.3.4", diff --git a/web/src/ar/components/Badge/ScanCategoryBadge.tsx b/web/src/ar/components/Badge/ScanCategoryBadge.tsx index c45f05093d..c52ded92ab 100644 --- a/web/src/ar/components/Badge/ScanCategoryBadge.tsx +++ b/web/src/ar/components/Badge/ScanCategoryBadge.tsx @@ -15,7 +15,7 @@ */ import React from 'react' -import type { PolicyFailureDetailCategory } from '@harnessio/react-har-service-client' +import type { PolicyFailureDetailCategoryV3 } from '@harnessio/react-har-service-client' import { useStrings } from '@ar/frameworks/strings' @@ -23,7 +23,7 @@ import Badge from './Badge' import css from './Badge.module.scss' interface ScanBadgeProps { - category: PolicyFailureDetailCategory + category: PolicyFailureDetailCategoryV3 } export default function ScanCategoryBadge(props: ScanBadgeProps): JSX.Element { diff --git a/web/src/ar/pages/version-details/components/VersionActions/ReEvaluateMenuItem.tsx b/web/src/ar/pages/version-details/components/VersionActions/ReEvaluateMenuItem.tsx index 82fe1a6341..3635cfb609 100644 --- a/web/src/ar/pages/version-details/components/VersionActions/ReEvaluateMenuItem.tsx +++ b/web/src/ar/pages/version-details/components/VersionActions/ReEvaluateMenuItem.tsx @@ -16,7 +16,7 @@ import React from 'react' import { useToaster } from '@harnessio/uicore' -import { evaluateArtifactScan, type V3Error } from '@harnessio/react-har-service-client' +import { evaluateArtifactScanV3, type ErrorV3 } from '@harnessio/react-har-service-client' import { useAppStore, useParentComponents } from '@ar/hooks' import { useStrings } from '@ar/frameworks/strings' @@ -42,7 +42,7 @@ function ReEvaluateMenuItem(props: VersionActionProps) { } const handleReEvaluate = async () => { - return evaluateArtifactScan({ + return evaluateArtifactScanV3({ queryParams: { account_identifier: accountId || '' }, body: { versionId: data.uuid } }) @@ -50,7 +50,7 @@ function ReEvaluateMenuItem(props: VersionActionProps) { clear() showSuccess(getString('versionList.messages.reEvaluateSuccess')) }) - .catch((err: V3Error) => { + .catch((err: ErrorV3) => { clear() showError(err?.error?.message ?? getString('versionList.messages.reEvaluateFailed')) }) diff --git a/web/src/ar/pages/violations-list/ViolationsListPage.tsx b/web/src/ar/pages/violations-list/ViolationsListPage.tsx index 020eeaf34e..7a4914bd2d 100644 --- a/web/src/ar/pages/violations-list/ViolationsListPage.tsx +++ b/web/src/ar/pages/violations-list/ViolationsListPage.tsx @@ -19,7 +19,7 @@ import classNames from 'classnames' import { flushSync } from 'react-dom' import { Expander } from '@blueprintjs/core' import { Color } from '@harnessio/design-system' -import { useGetArtifactScansQuery } from '@harnessio/react-har-service-client' +import { useGetArtifactScansV3Query } from '@harnessio/react-har-service-client' import { Button, ButtonVariation, @@ -61,13 +61,13 @@ export default function ViolationsListPage() { isFetching: loading, error, refetch - } = useGetArtifactScansQuery({ + } = useGetArtifactScansV3Query({ queryParams: { account_identifier: accountId || '', org_identifier: orgIdentifier, project_identifier: projectIdentifier, - registry_id: repositoryIds, - package_type: packageTypes, + registry_ids: repositoryIds, + package_types: packageTypes, page, size, search_term: searchTerm, diff --git a/web/src/ar/pages/violations-list/ViolationsListTable.tsx b/web/src/ar/pages/violations-list/ViolationsListTable.tsx index c6cef1c1f1..27f9fffe59 100644 --- a/web/src/ar/pages/violations-list/ViolationsListTable.tsx +++ b/web/src/ar/pages/violations-list/ViolationsListTable.tsx @@ -18,7 +18,7 @@ import React from 'react' import classNames from 'classnames' import type { Column } from 'react-table' import { PaginationProps, TableV2 } from '@harnessio/uicore' -import type { ArtifactScan, ListArtifactScanResponseResponse } from '@harnessio/react-har-service-client' +import type { ArtifactScanV3, ListArtifactScanResponseV3Response } from '@harnessio/react-har-service-client' import { useParentHooks } from '@ar/hooks' import { useStrings } from '@ar/frameworks/strings' @@ -33,7 +33,7 @@ import { import css from './ViolationsListPage.module.scss' export interface ViolationsListTableProps { - data: ListArtifactScanResponseResponse + data: ListArtifactScanResponseV3Response gotoPage: (pageNumber: number) => void onPageSizeChange?: PaginationProps['onPageSizeChange'] setSortBy: (sortBy: string[]) => void @@ -57,7 +57,7 @@ export default function ViolationsListTable(props: ViolationsListTableProps): JS onPageSizeChange }) - const columns: Column[] = React.useMemo(() => { + const columns: Column[] = React.useMemo(() => { return [ { Header: getString('violationsList.table.columns.package'), @@ -94,11 +94,11 @@ export default function ViolationsListTable(props: ViolationsListTableProps): JS disableSortBy: true, width: '100%' } - ].filter(Boolean) as unknown as Column[] + ].filter(Boolean) as unknown as Column[] }, [getString]) return ( - + className={classNames(css.table)} columns={columns} data={scans} diff --git a/web/src/ar/pages/violations-list/__tests__/mockData.ts b/web/src/ar/pages/violations-list/__tests__/mockData.ts index c7d3b89103..6d94bb0ef9 100644 --- a/web/src/ar/pages/violations-list/__tests__/mockData.ts +++ b/web/src/ar/pages/violations-list/__tests__/mockData.ts @@ -14,9 +14,9 @@ * limitations under the License. */ -import type { ArtifactScanDetails, ListArtifactScanResponseResponse } from '@harnessio/react-har-service-client' +import type { ArtifactScanDetailsV3, ListArtifactScanResponseV3Response } from '@harnessio/react-har-service-client' -export const mockData: ListArtifactScanResponseResponse = { +export const mockData: ListArtifactScanResponseV3Response = { data: [ { id: '1', @@ -58,7 +58,7 @@ export const mockData: ListArtifactScanResponseResponse = { pageSize: 10 } -export const mockArtifactScanDetails: ArtifactScanDetails = { +export const mockArtifactScanDetails: ArtifactScanDetailsV3 = { id: '1', packageType: 'NPM', packageName: 'package1', diff --git a/web/src/ar/pages/violations-list/components/TableCells/TableCells.tsx b/web/src/ar/pages/violations-list/components/TableCells/TableCells.tsx index 5a33bef977..9c757358e0 100644 --- a/web/src/ar/pages/violations-list/components/TableCells/TableCells.tsx +++ b/web/src/ar/pages/violations-list/components/TableCells/TableCells.tsx @@ -16,7 +16,7 @@ import React from 'react' import { Color } from '@harnessio/design-system' -import type { ArtifactScan } from '@harnessio/react-har-service-client' +import type { ArtifactScanV3 } from '@harnessio/react-har-service-client' import { Button, ButtonSize, ButtonVariation, Layout, Text } from '@harnessio/uicore' import type { TableInstance, ColumnInstance, Row, Cell, CellValue, Renderer } from 'react-table' @@ -43,7 +43,7 @@ export interface PolicySetSpec { scanId: string } -type CellType = Renderer> +type CellType = Renderer> export const DependencyAndVersionCell: CellType = ({ row }) => { const { original } = row diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/BasicInformationContent.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/BasicInformationContent.tsx index a9bb2ad9f9..131e3c9cd9 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/BasicInformationContent.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/BasicInformationContent.tsx @@ -17,7 +17,7 @@ import React from 'react' import { Container, Layout, Text } from '@harnessio/uicore' import { Color, FontVariation } from '@harnessio/design-system' -import type { ArtifactScanDetails } from '@harnessio/react-har-service-client' +import type { ArtifactScanDetailsV3 } from '@harnessio/react-har-service-client' import { useRoutes } from '@ar/hooks' import { useStrings } from '@ar/frameworks/strings' @@ -28,7 +28,7 @@ import InformationMetrics from './InformationMetrics' import css from './ViolationDetailsContent.module.scss' interface BasicInformationContentProps { - data: ArtifactScanDetails + data: ArtifactScanDetailsV3 } function BasicInformationContent({ data }: BasicInformationContentProps) { diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/EvaluationInformationContent.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/EvaluationInformationContent.tsx index 229830b0f7..064b18cc5d 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/EvaluationInformationContent.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/EvaluationInformationContent.tsx @@ -17,7 +17,7 @@ import React from 'react' import { Container, Layout, Text } from '@harnessio/uicore' import { Color, FontVariation } from '@harnessio/design-system' -import type { ArtifactScanDetails } from '@harnessio/react-har-service-client' +import type { ArtifactScanDetailsV3 } from '@harnessio/react-har-service-client' import { useStrings } from '@ar/frameworks/strings' import { DEFAULT_DATE_TIME_FORMAT } from '@ar/constants' @@ -28,7 +28,7 @@ import InformationMetrics from './InformationMetrics' import css from './ViolationDetailsContent.module.scss' interface EvaluationInformationContentProps { - data: ArtifactScanDetails + data: ArtifactScanDetailsV3 } function EvaluationInformationContent({ data }: EvaluationInformationContentProps) { diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/FixInformationContent.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/FixInformationContent.tsx index 3cff8c4002..351abdbd15 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/FixInformationContent.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/FixInformationContent.tsx @@ -17,7 +17,7 @@ import React from 'react' import { Container, Layout, Text } from '@harnessio/uicore' import { Color, FontVariation } from '@harnessio/design-system' -import type { ArtifactScanDetails } from '@harnessio/react-har-service-client' +import type { ArtifactScanDetailsV3 } from '@harnessio/react-har-service-client' import { useStrings } from '@ar/frameworks/strings' @@ -26,7 +26,7 @@ import InformationMetrics from './InformationMetrics' import css from './ViolationDetailsContent.module.scss' interface FixInformationContentProps { - data: ArtifactScanDetails + data: ArtifactScanDetailsV3 } function FixInformationContent({ data }: FixInformationContentProps) { diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/InformationMetrics.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/InformationMetrics.tsx index 0ac4eee403..479b341137 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/InformationMetrics.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/InformationMetrics.tsx @@ -19,7 +19,7 @@ import { Link } from 'react-router-dom' import type { IconProps } from '@harnessio/icons' import { Layout, Text } from '@harnessio/uicore' import { Color, FontVariation } from '@harnessio/design-system' -import type { ArtifactScan, PolicyFailureDetailCategory } from '@harnessio/react-har-service-client' +import type { ArtifactScanV3, PolicyFailureDetailCategoryV3 } from '@harnessio/react-har-service-client' import ScanBadge from '@ar/components/Badge/ScanBadge' import ScanCategoryBadge from '@ar/components/Badge/ScanCategoryBadge' @@ -121,7 +121,7 @@ function LinkMetric(props: LinkMetricProps) { interface StatusMetricProps { label: string labelIconProps?: IconProps - status: ArtifactScan['scanStatus'] + status: ArtifactScanV3['scanStatus'] scanId: string } @@ -143,7 +143,7 @@ function ScanStatusMetric(props: StatusMetricProps) { interface CategoryMetricProps { label: string labelIconProps?: IconProps - category: PolicyFailureDetailCategory + category: PolicyFailureDetailCategoryV3 } function ScanCategoryMetric(props: CategoryMetricProps) { diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetails.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetails.tsx index 8e60d3ea50..f790968d13 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetails.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetails.tsx @@ -17,7 +17,7 @@ import React from 'react' import { Collapse, Layout, Text } from '@harnessio/uicore' import { Color, FontVariation } from '@harnessio/design-system' -import type { ArtifactScanDetails, PolicySetFailureDetail } from '@harnessio/react-har-service-client' +import type { ArtifactScanDetailsV3, PolicySetFailureDetailV3 } from '@harnessio/react-har-service-client' import { useStrings } from '@ar/frameworks/strings' import { Separator } from '@ar/components/Separator/Separator' @@ -29,7 +29,7 @@ import useGetPolicySetDetailsPageUrl from '../../hooks/useGetPolicyDetailsPageUr import css from './ViolationDetailsContent.module.scss' interface PolicySetCollapseTitleProps { - data: PolicySetFailureDetail + data: PolicySetFailureDetailV3 } function PolicySetCollapseTitle({ data }: PolicySetCollapseTitleProps) { const { getString } = useStrings() @@ -50,7 +50,7 @@ function PolicySetCollapseTitle({ data }: PolicySetCollapseTitleProps) { } interface ViolationDetailsProps { - data: ArtifactScanDetails + data: ArtifactScanDetailsV3 } function ViolationDetails(props: ViolationDetailsProps) { diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetailsContent.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetailsContent.tsx index 3adbdc5667..ae275bbf2e 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetailsContent.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationDetailsContent.tsx @@ -19,9 +19,9 @@ import { ButtonVariation, Container, Layout, Text, useToaster } from '@harnessio import { FontVariation } from '@harnessio/design-system' import { Error, - evaluateArtifactScan, - useGetArtifactScanDetailsQuery, - V3Error + evaluateArtifactScanV3, + useGetArtifactScanDetailsV3Query, + ErrorV3 } from '@harnessio/react-har-service-client' import { useAppStore, useParentComponents } from '@ar/hooks' @@ -52,8 +52,8 @@ function ViolationDetailsContent(props: ViolationDetailsContentProps) { isFetching: loading, error, refetch - } = useGetArtifactScanDetailsQuery({ - scan_id: props.scanId, + } = useGetArtifactScanDetailsV3Query({ + id: props.scanId, queryParams: { account_identifier: scope.accountId || '' } @@ -62,7 +62,7 @@ function ViolationDetailsContent(props: ViolationDetailsContentProps) { const responseData = data?.content.data const handleRescan = (scanId: string) => { - return evaluateArtifactScan({ + return evaluateArtifactScanV3({ queryParams: { account_identifier: scope.accountId || '' }, body: { scanId } }) @@ -70,7 +70,7 @@ function ViolationDetailsContent(props: ViolationDetailsContentProps) { clear() showSuccess(getString('versionList.messages.reEvaluateSuccess')) }) - .catch((err: V3Error) => { + .catch((err: ErrorV3) => { clear() showError(err?.error?.message ?? getString('versionList.messages.reEvaluateFailed')) }) diff --git a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationFailureDetails.tsx b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationFailureDetails.tsx index 0922c069d1..aa766435a7 100644 --- a/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationFailureDetails.tsx +++ b/web/src/ar/pages/violations-list/components/ViolationDetailsContent/ViolationFailureDetails.tsx @@ -19,13 +19,13 @@ import classNames from 'classnames' import { Collapse, Container, Layout } from '@harnessio/uicore' import type { KVO } from '@harnessio/design-system' import type { - FixVersionDetails, - LicensePolicyFailureDetailConfig, - OssRiskLevelPolicyFailureDetailConfig, - PackageAgeViolationPolicyFailureDetailConfig, - PolicyFailureDetail, - PolicySetFailureDetail, - SecurityPolicyFailureDetailConfig + FixVersionDetailsV3, + LicensePolicyFailureDetailConfigV3, + OssRiskLevelPolicyFailureDetailConfigV3, + PackageAgeViolationPolicyFailureDetailConfigV3, + PolicyFailureDetailV3, + PolicySetFailureDetailV3, + SecurityPolicyFailureDetailConfigV3 } from '@harnessio/react-har-service-client' import { useStrings } from '@ar/frameworks/strings' @@ -41,16 +41,16 @@ interface ViolationFailureDetailsItemProps { data: any policyName: string policyRef: string - category: PolicyFailureDetail['category'] - fixVersionDetails?: FixVersionDetails + category: PolicyFailureDetailV3['category'] + fixVersionDetails?: FixVersionDetailsV3 } function SecurityPolicyFailureDetailsItem({ data, fixVersionDetails }: { - data: SecurityPolicyFailureDetailConfig - fixVersionDetails?: FixVersionDetails + data: SecurityPolicyFailureDetailConfigV3 + fixVersionDetails?: FixVersionDetailsV3 }) { const { vulnerabilities } = data const { getString } = useStrings() @@ -90,7 +90,7 @@ function SecurityPolicyFailureDetailsItem({ ) } -function LicensePolicyFailureDetailItem({ data }: { data: LicensePolicyFailureDetailConfig }) { +function LicensePolicyFailureDetailItem({ data }: { data: LicensePolicyFailureDetailConfigV3 }) { const { allowedLicenses, blockedLicense } = data const { getString } = useStrings() return ( @@ -111,7 +111,11 @@ function LicensePolicyFailureDetailItem({ data }: { data: LicensePolicyFailureDe ) } -function PackageAgeViolationPolicyFailureDetailItem({ data }: { data: PackageAgeViolationPolicyFailureDetailConfig }) { +function PackageAgeViolationPolicyFailureDetailItem({ + data +}: { + data: PackageAgeViolationPolicyFailureDetailConfigV3 +}) { const { packageAgeThreshold, publishedOn } = data const { getString } = useStrings() return ( @@ -132,7 +136,7 @@ function PackageAgeViolationPolicyFailureDetailItem({ data }: { data: PackageAge ) } -function OssRiskLevelViolationPolicyFailureDetailItem({ data }: { data: OssRiskLevelPolicyFailureDetailConfig }) { +function OssRiskLevelViolationPolicyFailureDetailItem({ data }: { data: OssRiskLevelPolicyFailureDetailConfigV3 }) { const { ossRiskLevel } = data const { getString } = useStrings() return ( @@ -205,8 +209,8 @@ function ViolationFailureDetailsItem(props: ViolationFailureDetailsItemProps) { } interface ViolationFailureDetailsProps { - data: PolicySetFailureDetail - fixVersionDetails?: FixVersionDetails + data: PolicySetFailureDetailV3 + fixVersionDetails?: FixVersionDetailsV3 } function ViolationFailureDetails(props: ViolationFailureDetailsProps) { diff --git a/web/src/ar/pages/violations-list/utils.ts b/web/src/ar/pages/violations-list/utils.ts index aa165028f2..e7c7b592fa 100644 --- a/web/src/ar/pages/violations-list/utils.ts +++ b/web/src/ar/pages/violations-list/utils.ts @@ -15,7 +15,7 @@ */ import { useMemo } from 'react' -import type { ArtifactScan } from '@harnessio/react-har-service-client' +import type { ArtifactScanV3 } from '@harnessio/react-har-service-client' import { useParentHooks } from '@ar/hooks' import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, DEFAULT_VIOLATIONS_LIST_TABLE_SORT } from '@ar/constants' @@ -28,7 +28,7 @@ export type ViolationsListPageQueryParams = { sort: string[] repositoryIds: string[] packageTypes: RepositoryPackageType[] - status?: ArtifactScan['scanStatus'] + status?: ArtifactScanV3['scanStatus'] searchTerm?: string scope: RepositoryScopeType } diff --git a/web/yarn.lock b/web/yarn.lock index 0a5d1b3435..eb11c555da 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1945,10 +1945,10 @@ yargs "^17.6.2" zod "^3.19.1" -"@harnessio/react-har-service-client@0.48.0": - version "0.48.0" - resolved "https://registry.yarnpkg.com/@harnessio/react-har-service-client/-/react-har-service-client-0.48.0.tgz#140d7de05d4e6d603b6bdb506116bcc971ce8f97" - integrity sha512-Us3THe5S34yPS19dA+AtUgLsVnWZMvSslXINjMFVyujB7fcqVdT/t3KoQYKtx1LX3KcAqyhUnIQaNvOwJj6ZMA== +"@harnessio/react-har-service-client@0.49.0": + version "0.49.0" + resolved "https://registry.yarnpkg.com/@harnessio/react-har-service-client/-/react-har-service-client-0.49.0.tgz#1eeb9769e46cd28b8a78706796900d928e652683" + integrity sha512-vUcGelrFbip/lyjKsXX4Ls6ZW6663RiTIsPcZKnqXSZrpFKuaCFHM5ymnJMgSbo4wX3APQQuo1jjsM95NXmGIA== dependencies: "@harnessio/oats-cli" "^3.0.0"