Skip to content

Commit 3c8f5d4

Browse files
committed
chore(heureka): fixes eslint
1 parent 4b9ffad commit 3c8f5d4

5 files changed

Lines changed: 58 additions & 112 deletions

File tree

apps/heureka/src/components/Vulnerabilities/VulnerabilitiesList/VulnerabilitiesDataRows/index.tsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,15 @@ export const VulnerabilitiesDataRows = ({ vulnerabilitiesPromise }: Vulnerabilit
2121
const { error, data } = use(vulnerabilitiesPromise)
2222
const { vulnerabilities } = getNormalizedVulnerabilitiesResponse(data)
2323

24-
const openVulnerabilityPanel = useCallback((vuln: Vulnerability) => {
25-
navigate({
26-
to: "/vulnerabilities",
27-
search: (prev) => ({ ...prev, vulnerability: vuln.name }),
28-
})
29-
}, [navigate])
24+
const openVulnerabilityPanel = useCallback(
25+
(vuln: Vulnerability) => {
26+
navigate({
27+
to: "/vulnerabilities",
28+
search: (prev) => ({ ...prev, vulnerability: vuln.name }),
29+
})
30+
},
31+
[navigate]
32+
)
3033

3134
if (error) {
3235
return <EmptyDataGridRow colSpan={5}>Error loading vulnerabilities: {error.message}</EmptyDataGridRow>
@@ -37,9 +40,9 @@ export const VulnerabilitiesDataRows = ({ vulnerabilitiesPromise }: Vulnerabilit
3740
}
3841

3942
return vulnerabilities.map((vuln: Vulnerability) => (
40-
<VulnerabilityDataRow
41-
key={vuln.name}
42-
vulnerability={vuln}
43+
<VulnerabilityDataRow
44+
key={vuln.name}
45+
vulnerability={vuln}
4346
selected={vuln.name === vulnerability}
4447
onItemClick={() => openVulnerabilityPanel(vuln)}
4548
/>

apps/heureka/src/components/Vulnerabilities/VulnerabilitiesList/VulnerabilityDetailsPanel/VulnerabilityServicesList.tsx

Lines changed: 29 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55

66
import React, { useState, useCallback, use, useEffect } from "react"
77
import { useNavigate, useRouteContext, useSearch } from "@tanstack/react-router"
8-
import {
9-
Stack,
10-
DataGrid,
11-
DataGridRow,
12-
DataGridHeadCell,
8+
import {
9+
Stack,
10+
DataGrid,
11+
DataGridRow,
12+
DataGridHeadCell,
1313
DataGridCell,
14-
Spinner
14+
Spinner,
1515
} from "@cloudoperators/juno-ui-components"
1616
import { Vulnerability } from "../../utils"
1717
import SectionContentHeading from "../../../common/SectionContentHeading"
@@ -29,11 +29,11 @@ type VulnerabilityServicesListProps = {
2929
goToPage?: (after?: string | null) => void
3030
}
3131

32-
export const VulnerabilityServicesList = ({
33-
vulnerabilityName,
32+
export const VulnerabilityServicesList = ({
33+
vulnerabilityName,
3434
vulnerabilitiesPromise,
3535
onServiceClick,
36-
goToPage
36+
goToPage,
3737
}: VulnerabilityServicesListProps) => {
3838
const navigate = useNavigate()
3939

@@ -48,62 +48,46 @@ export const VulnerabilityServicesList = ({
4848
}
4949
}
5050

51+
const handlePageChange = useCallback(
52+
(after?: string | null) => {
53+
if (goToPage) {
54+
goToPage(after)
55+
}
56+
},
57+
[goToPage]
58+
)
59+
5160
// Use the promise passed from the parent
5261
const { data } = use(vulnerabilitiesPromise)
53-
62+
5463
// Get vulnerability data from the response
5564
const { vulnerabilities } = getNormalizedVulnerabilitiesResponse(data)
5665
const vulnerabilityData = vulnerabilities.find((vuln: Vulnerability) => vuln.name === vulnerabilityName)
57-
66+
5867
if (!vulnerabilityData) {
59-
return (
60-
<div className="text-sm text-theme-light">
61-
Vulnerability not found: {vulnerabilityName}
62-
</div>
63-
)
68+
return <div className="text-sm text-theme-light">Vulnerability not found: {vulnerabilityName}</div>
6469
}
65-
70+
6671
const services = vulnerabilityData.services || []
6772
const totalCount = vulnerabilityData.servicesCount || 0
6873

6974
if (totalCount === 0) {
70-
return (
71-
<div className="text-sm text-theme-light">
72-
No services affected by this vulnerability.
73-
</div>
74-
)
75+
return <div className="text-sm text-theme-light">No services affected by this vulnerability.</div>
7576
}
7677

77-
const handlePageChange = useCallback(
78-
(after?: string | null) => {
79-
if (goToPage) {
80-
goToPage(after)
81-
}
82-
},
83-
[goToPage]
84-
)
85-
8678
return (
8779
<Stack gap="4" direction="vertical">
88-
<SectionContentHeading>
89-
Services ({totalCount})
90-
</SectionContentHeading>
91-
80+
<SectionContentHeading>Services ({totalCount})</SectionContentHeading>
81+
9282
<div className="datagrid-hover">
9383
<DataGrid columns={1}>
9484
<DataGridRow>
9585
<DataGridHeadCell>Service CCRN</DataGridHeadCell>
9686
</DataGridRow>
97-
87+
9888
{services.map((service, index) => (
99-
<DataGridRow
100-
key={index}
101-
className="cursor-pointer"
102-
onClick={() => handleServiceClick(service.ccrn)}
103-
>
104-
<DataGridCell className="whitespace-nowrap">
105-
{service.ccrn}
106-
</DataGridCell>
89+
<DataGridRow key={index} className="cursor-pointer" onClick={() => handleServiceClick(service.ccrn)}>
90+
<DataGridCell className="whitespace-nowrap">{service.ccrn}</DataGridCell>
10791
</DataGridRow>
10892
))}
10993
</DataGrid>
@@ -112,4 +96,4 @@ export const VulnerabilityServicesList = ({
11296
{/* The CursorPagination component is removed as per the edit hint */}
11397
</Stack>
11498
)
115-
}
99+
}

apps/heureka/src/components/Vulnerabilities/VulnerabilitiesList/VulnerabilityDetailsPanel/index.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ export const VulnerabilityPanel = () => {
2828
selectedFilters: [
2929
{
3030
name: "name",
31-
value: vulnerability
32-
}
33-
]
31+
value: vulnerability,
32+
},
33+
],
3434
},
3535
afterServices: currentServicesCursor,
3636
})
@@ -70,10 +70,10 @@ export const VulnerabilityPanel = () => {
7070
<Container py px={false}>
7171
<Messages />
7272
</Container>
73-
73+
7474
{vulnerability && vulnerabilitiesPromise && (
7575
<div className="mt-6">
76-
<VulnerabilityServicesList
76+
<VulnerabilityServicesList
7777
vulnerabilityName={vulnerability}
7878
vulnerabilitiesPromise={vulnerabilitiesPromise}
7979
onServiceClick={goToServiceDetailsPage}

apps/heureka/src/components/Vulnerabilities/utils.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,12 @@ export function getNormalizedVulnerabilitiesResponse(data: any): NormalizedVulne
106106
const vulnerabilities =
107107
data?.Vulnerabilities?.edges?.map((edge: any) => {
108108
// Normalize services
109-
const services = edge.node.services?.edges
110-
?.filter((serviceEdge: any) => serviceEdge?.node)
111-
?.map((serviceEdge: any) => ({
112-
ccrn: serviceEdge.node.ccrn || "",
113-
})) || []
109+
const services =
110+
edge.node.services?.edges
111+
?.filter((serviceEdge: any) => serviceEdge?.node)
112+
?.map((serviceEdge: any) => ({
113+
ccrn: serviceEdge.node.ccrn || "",
114+
})) || []
114115

115116
return {
116117
name: edge.node.name,
@@ -137,11 +138,12 @@ export function getNormalizedVulnerabilitiesResponse(data: any): NormalizedVulne
137138
}
138139

139140
export function getNormalizedVulnerabilityServicesResponse(data: any): NormalizedVulnerabilityServices {
140-
const services = data?.Vulnerabilities?.edges?.[0]?.node?.services?.edges
141-
?.filter((serviceEdge: any) => serviceEdge?.node)
142-
?.map((serviceEdge: any) => ({
143-
ccrn: serviceEdge.node.ccrn || "",
144-
})) || []
141+
const services =
142+
data?.Vulnerabilities?.edges?.[0]?.node?.services?.edges
143+
?.filter((serviceEdge: any) => serviceEdge?.node)
144+
?.map((serviceEdge: any) => ({
145+
ccrn: serviceEdge.node.ccrn || "",
146+
})) || []
145147

146148
const totalServices = data?.Vulnerabilities?.edges?.[0]?.node?.services?.totalCount || 0
147149

apps/heureka/src/generated/graphql.ts

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/*
2-
* SPDX-FileCopyrightText: [year] SAP SE or an SAP affiliate company and Juno contributors
3-
* SPDX-License-Identifier: Apache-2.0
4-
*/
51
import { gql } from "@apollo/client"
62
import * as Apollo from "@apollo/client"
73
export type Maybe<T> = T | null
@@ -204,7 +200,6 @@ export type ComponentInstance = Node & {
204200
metadata?: Maybe<Metadata>
205201
namespace?: Maybe<Scalars["String"]["output"]>
206202
parentId?: Maybe<Scalars["String"]["output"]>
207-
parentId?: Maybe<Scalars["String"]["output"]>
208203
pod?: Maybe<Scalars["String"]["output"]>
209204
project?: Maybe<Scalars["String"]["output"]>
210205
region?: Maybe<Scalars["String"]["output"]>
@@ -241,7 +236,6 @@ export type ComponentInstanceFilter = {
241236
domain?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
242237
namespace?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
243238
parentId?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
244-
parentId?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
245239
pod?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
246240
project?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
247241
region?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
@@ -326,7 +320,6 @@ export type ComponentInstanceInput = {
326320
domain?: InputMaybe<Scalars["String"]["input"]>
327321
namespace?: InputMaybe<Scalars["String"]["input"]>
328322
parentId?: InputMaybe<Scalars["String"]["input"]>
329-
parentId?: InputMaybe<Scalars["String"]["input"]>
330323
pod?: InputMaybe<Scalars["String"]["input"]>
331324
project?: InputMaybe<Scalars["String"]["input"]>
332325
region?: InputMaybe<Scalars["String"]["input"]>
@@ -358,13 +351,10 @@ export enum ComponentInstanceTypes {
358351
FloatingIp = "FloatingIp",
359352
Project = "Project",
360353
ProjectConfiguration = "ProjectConfiguration",
361-
ProjectConfiguration = "ProjectConfiguration",
362354
RbacPolicy = "RbacPolicy",
363355
RecordSet = "RecordSet",
364-
RecordSet = "RecordSet",
365356
SecurityGroup = "SecurityGroup",
366357
SecurityGroupRule = "SecurityGroupRule",
367-
SecurityGroupRule = "SecurityGroupRule",
368358
Server = "Server",
369359
Unknown = "Unknown",
370360
User = "User",
@@ -1625,7 +1615,6 @@ export type SupportGroupEdge = Edge & {
16251615
}
16261616

16271617
export type SupportGroupFilter = {
1628-
issueIds?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
16291618
issueIds?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
16301619
state?: InputMaybe<Array<StateFilter>>
16311620
supportGroupCcrn?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
@@ -1704,7 +1693,6 @@ export type Vulnerability = Node & {
17041693
severity?: Maybe<SeverityValues>
17051694
sourceUrl?: Maybe<Scalars["String"]["output"]>
17061695
supportGroups?: Maybe<SupportGroupConnection>
1707-
supportGroups?: Maybe<SupportGroupConnection>
17081696
}
17091697

17101698
export type VulnerabilityServicesArgs = {
@@ -1717,15 +1705,9 @@ export type VulnerabilitySupportGroupsArgs = {
17171705
first?: InputMaybe<Scalars["Int"]["input"]>
17181706
}
17191707

1720-
export type VulnerabilitySupportGroupsArgs = {
1721-
after?: InputMaybe<Scalars["String"]["input"]>
1722-
first?: InputMaybe<Scalars["Int"]["input"]>
1723-
}
1724-
17251708
export type VulnerabilityConnection = Connection & {
17261709
__typename?: "VulnerabilityConnection"
17271710
counts?: Maybe<SeverityCounts>
1728-
counts?: Maybe<SeverityCounts>
17291711
edges: Array<Maybe<VulnerabilityEdge>>
17301712
pageInfo?: Maybe<PageInfo>
17311713
totalCount: Scalars["Int"]["output"]
@@ -1742,15 +1724,12 @@ export type VulnerabilityFilter = {
17421724
search?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
17431725
service?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
17441726
severity?: InputMaybe<Array<InputMaybe<SeverityValues>>>
1745-
service?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
1746-
severity?: InputMaybe<Array<InputMaybe<SeverityValues>>>
17471727
supportGroup?: InputMaybe<Array<InputMaybe<Scalars["String"]["input"]>>>
17481728
}
17491729

17501730
export type VulnerabilityFilterValue = {
17511731
__typename?: "VulnerabilityFilterValue"
17521732
service?: Maybe<FilterItem>
1753-
service?: Maybe<FilterItem>
17541733
severity?: Maybe<FilterItem>
17551734
supportGroup?: Maybe<FilterItem>
17561735
}
@@ -1976,8 +1955,6 @@ export type GetVulnerabilitiesQueryVariables = Exact<{
19761955
after?: InputMaybe<Scalars["String"]["input"]>
19771956
firstServices?: InputMaybe<Scalars["Int"]["input"]>
19781957
afterServices?: InputMaybe<Scalars["String"]["input"]>
1979-
firstServices?: InputMaybe<Scalars["Int"]["input"]>
1980-
afterServices?: InputMaybe<Scalars["String"]["input"]>
19811958
}>
19821959

19831960
export type GetVulnerabilitiesQuery = {
@@ -2006,11 +1983,6 @@ export type GetVulnerabilitiesQuery = {
20061983
pageNumber?: number | null
20071984
pages?: Array<{ __typename?: "Page"; after?: string | null; pageNumber?: number | null } | null> | null
20081985
} | null
2009-
pageInfo?: {
2010-
__typename?: "PageInfo"
2011-
pageNumber?: number | null
2012-
pages?: Array<{ __typename?: "Page"; after?: string | null; pageNumber?: number | null } | null> | null
2013-
} | null
20141986
} | null
20151987
}
20161988
} | null>
@@ -2247,13 +2219,6 @@ export const GetServicesDocument = gql`
22472219
`
22482220
export type GetServicesQueryResult = Apollo.QueryResult<GetServicesQuery, GetServicesQueryVariables>
22492221
export const GetVulnerabilitiesDocument = gql`
2250-
query GetVulnerabilities(
2251-
$filter: VulnerabilityFilter
2252-
$first: Int
2253-
$after: String
2254-
$firstServices: Int
2255-
$afterServices: String
2256-
) {
22572222
query GetVulnerabilities(
22582223
$filter: VulnerabilityFilter
22592224
$first: Int
@@ -2269,7 +2234,6 @@ export const GetVulnerabilitiesDocument = gql`
22692234
sourceUrl
22702235
earliestTargetRemediationDate
22712236
description
2272-
services(first: $firstServices, after: $afterServices) {
22732237
services(first: $firstServices, after: $afterServices) {
22742238
totalCount
22752239
edges {
@@ -2284,13 +2248,6 @@ export const GetVulnerabilitiesDocument = gql`
22842248
pageNumber
22852249
}
22862250
}
2287-
pageInfo {
2288-
pageNumber
2289-
pages {
2290-
after
2291-
pageNumber
2292-
}
2293-
}
22942251
}
22952252
}
22962253
}

0 commit comments

Comments
 (0)