Skip to content

Commit b23e547

Browse files
author
Mark Pedrotti
committed
ROX-34133: Use ImageVulnerabilityReportConfiguration for feature work
1 parent 75d765a commit b23e547

File tree

7 files changed

+114
-55
lines changed

7 files changed

+114
-55
lines changed

ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/View/ImageVulnerabilityParametersView.tsx renamed to ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/View/ImageVulnerabilityFiltersView.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@ import {
99
Title,
1010
} from '@patternfly/react-core';
1111

12-
import type { ImageVulnerabilityParametersConfiguration } from '../imageVulnerabilityReports.types';
12+
import type { ImageVulnerabilityFiltersConfiguration } from '../imageVulnerabilityReports.types';
1313
import { getTextForCvesSince } from '../imageVulnerabilityReports.utils';
1414

15-
export type ImageVulnerabilityParametersViewProps = {
15+
export type ImageVulnerabilityFiltersViewProps = {
1616
headingLevel: 'h2' | 'h3';
17-
values: ImageVulnerabilityParametersConfiguration;
17+
values: ImageVulnerabilityFiltersConfiguration;
1818
};
1919

20-
function ImageVulnerabilityParametersView({
20+
function ImageVulnerabilityFiltersView({
2121
headingLevel,
2222
values,
23-
}: ImageVulnerabilityParametersViewProps): ReactElement {
23+
}: ImageVulnerabilityFiltersViewProps): ReactElement {
2424
const { vulnReportFilters } = values;
2525

2626
return (
@@ -43,4 +43,4 @@ function ImageVulnerabilityParametersView({
4343
);
4444
}
4545

46-
export default ImageVulnerabilityParametersView;
46+
export default ImageVulnerabilityFiltersView;

ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/View/ImageVulnerabilityParametersViewForCollection.tsx renamed to ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/View/ImageVulnerabilityFiltersViewForCollection.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ import {
1313
import { fixabilityLabels } from 'constants/reportConstants';
1414
import { vulnerabilitySeverityLabels } from 'messages/common';
1515

16-
import type { ImageVulnerabilityParametersForCollectionConfiguration } from '../imageVulnerabilityReports.types';
16+
import type { ImageVulnerabilityFiltersConfigurationForCollection } from '../imageVulnerabilityReports.types';
1717
import { getTextForCvesSince } from '../imageVulnerabilityReports.utils';
1818

19-
export type ImageVulnerabilityParametersViewForCollectionProps = {
19+
export type ImageVulnerabilityFiltersViewForCollectionProps = {
2020
headingLevel: 'h2' | 'h3';
21-
values: ImageVulnerabilityParametersForCollectionConfiguration;
21+
values: ImageVulnerabilityFiltersConfigurationForCollection;
2222
};
2323

24-
function ImageVulnerabilityParametersViewForCollection({
24+
function ImageVulnerabilityFiltersViewForCollection({
2525
headingLevel,
2626
values,
27-
}: ImageVulnerabilityParametersViewForCollectionProps): ReactElement {
27+
}: ImageVulnerabilityFiltersViewForCollectionProps): ReactElement {
2828
const { vulnReportFilters } = values;
2929
const { fixability, severities } = vulnReportFilters;
3030

@@ -65,4 +65,4 @@ function ImageVulnerabilityParametersViewForCollection({
6565
);
6666
}
6767

68-
export default ImageVulnerabilityParametersViewForCollection;
68+
export default ImageVulnerabilityFiltersViewForCollection;

ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/Wizard/Step3/ImageVulnerabilityParametersStep.tsx renamed to ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/Wizard/Step3/ImageVulnerabilityFiltersStep.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import type { ReactElement } from 'react';
22
import { Divider, Flex, PageSection, Title } from '@patternfly/react-core';
33

4-
// import type { ImageVulnerabilityParametersConfiguration } from '../../imageVulnerabilityReports.types';
4+
// import type { ImageVulnerabilityFiltersConfiguration } from '../../imageVulnerabilityReports.types';
55

6-
function ImageVulnerabilityParametersStep(): ReactElement {
6+
function ImageVulnerabilityFiltersStep(): ReactElement {
77
return (
88
<PageSection>
99
<Flex direction={{ default: 'column' }}>
@@ -15,4 +15,4 @@ function ImageVulnerabilityParametersStep(): ReactElement {
1515
);
1616
}
1717

18-
export default ImageVulnerabilityParametersStep;
18+
export default ImageVulnerabilityFiltersStep;

ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/Wizard/Step3/ImageVulnerabilityParametersForCollectionStep.tsx renamed to ui/apps/platform/src/Containers/Vulnerabilities/ImageVulnerabilityReports/Wizard/Step3/ImageVulnerabilityFiltersStepForCollection.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import type { ReactElement } from 'react';
22
import { Divider, Flex, PageSection, Title } from '@patternfly/react-core';
33

4-
// import type { ImageVulnerabilityParametersForCollectionConfiguration } from '../../imageVulnerabilityReports.types';
4+
// import type { ImageVulnerabilityFtersConfigurationForCollection } from '../../imageVulnerabilityReports.types';
55

6-
function ImageVulnerabilityParametersForCollectionStep(): ReactElement {
6+
function ImageVulnerabilityFiltersStepForCollection(): ReactElement {
77
return (
88
<PageSection>
99
<Flex direction={{ default: 'column' }}>
@@ -15,4 +15,4 @@ function ImageVulnerabilityParametersForCollectionStep(): ReactElement {
1515
);
1616
}
1717

18-
export default ImageVulnerabilityParametersForCollectionStep;
18+
export default ImageVulnerabilityFiltersStepForCollection;
Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import type {
22
CollectionScope,
33
CvesSince,
4+
EntityScope,
45
Fixability,
56
ImageType,
67
NotifierConfiguration,
8+
ReportType,
79
} from 'services/ReportsService.types';
810
import type { VulnerabilitySeverity } from 'types/cve.proto';
911
import type { Schedule } from 'types/schedule.proto';
@@ -13,39 +15,6 @@ export type DetailsType = {
1315
description: string;
1416
};
1517

16-
// TODO move final type to ReportsService.types.ts file when merged into report_service.proto file
17-
18-
type EntityScope = {
19-
rules: EntityScopeRule[];
20-
};
21-
22-
type EntityScopeRule = {
23-
entity: ScopeEntity;
24-
field: ScopeField;
25-
values: RuleValue[];
26-
};
27-
28-
type ScopeEntity = 'SCOPE_ENTITY_DEPLOYMENT' | 'SCOPE_ENTITY_NAMESPACE' | 'SCOPE_ENTITY_CLUSTER';
29-
30-
type ScopeField =
31-
| 'SCOPE_FIELD_ID'
32-
| 'SCOPE_FIELD_NAME'
33-
| 'SCOPE_FIELD_LABEL'
34-
| 'SCOPE_FIELD_ANNOTATION';
35-
36-
type RuleValue = {
37-
value: string;
38-
matchType: MatchType;
39-
};
40-
41-
type MatchType = 'EXACT' | 'REGEX';
42-
43-
export type ResourcesConfiguration = {
44-
resourceScope: {
45-
entityScope: EntityScope;
46-
};
47-
};
48-
4918
export type ImageVulnerabilityResourceScope =
5019
| {
5120
collectionScope: CollectionScope;
@@ -55,17 +24,17 @@ export type ImageVulnerabilityResourceScope =
5524
};
5625

5726
export type ImageVulnerabilityResourcesConfiguration = {
58-
imageTypes: ImageType[];
27+
imageTypes: ImageType[]; // more closely related to resources although in vulnReportFilters
5928
resourceScope: ImageVulnerabilityResourceScope;
6029
};
6130

62-
export type ImageVulnerabilityParametersConfiguration = {
31+
export type ImageVulnerabilityFiltersConfiguration = {
6332
vulnReportFilters: {
6433
query: string;
6534
} & CvesSince;
6635
};
6736

68-
export type ImageVulnerabilityParametersForCollectionConfiguration = {
37+
export type ImageVulnerabilityFiltersConfigurationForCollection = {
6938
vulnReportFilters: {
7039
fixability: Fixability;
7140
severities: VulnerabilitySeverity[];
@@ -74,5 +43,41 @@ export type ImageVulnerabilityParametersForCollectionConfiguration = {
7443

7544
export type DestinationsConfiguration = {
7645
notifiers: NotifierConfiguration[];
77-
schedule: Schedule;
46+
schedule: Schedule | null;
47+
};
48+
49+
// Move to src/services/ReportService.types.ts file when we delete ROX_VULNERABILITY_REPORTS_ENHANCED_FILTERING
50+
51+
export type ImageVulnerabilityReportConfigurationBase = {
52+
id: string;
53+
name: string;
54+
description: string;
55+
type: ReportType;
56+
notifiers: NotifierConfiguration[];
57+
schedule: Schedule | null;
7858
};
59+
60+
export type ImageVulnerabilityReportConfigurationForEntity = {
61+
vulnReportFilters: {
62+
imageTypes: ImageType[];
63+
query: string;
64+
} & CvesSince;
65+
resourceScope: {
66+
entityScope: EntityScope;
67+
};
68+
} & ImageVulnerabilityReportConfigurationBase;
69+
70+
export type ImageVulnerabilityReportConfigurationForCollection = {
71+
vulnReportFilters: {
72+
fixability: Fixability;
73+
severities: VulnerabilitySeverity[];
74+
imageTypes: ImageType[];
75+
} & CvesSince;
76+
resourceScope: {
77+
collectionScope: CollectionScope;
78+
};
79+
} & ImageVulnerabilityReportConfigurationBase;
80+
81+
export type ImageVulnerabilityReportConfiguration =
82+
| ImageVulnerabilityReportConfigurationForEntity
83+
| ImageVulnerabilityReportConfigurationForCollection;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import type { CvesSince, EntityScope, NotifierConfiguration } from 'services/ReportsService.types';
2+
import type { Schedule } from 'types/schedule.proto';
3+
4+
export type NodeVulnerabilityResourcesConfiguration = {
5+
resourceScope: {
6+
entityScope: EntityScope;
7+
};
8+
};
9+
10+
export type NodeVulnerabilityFiltersConfiguration = {
11+
vulnReportFilters: {
12+
query: string;
13+
} & CvesSince;
14+
};
15+
16+
export type NodeVulnerabilityReportConfiguration = {
17+
id: string;
18+
name: string;
19+
description: string;
20+
type: 'NODE_VULNERABILITY';
21+
notifiers: NotifierConfiguration[];
22+
schedule: Schedule | null;
23+
} & NodeVulnerabilityResourcesConfiguration &
24+
NodeVulnerabilityFiltersConfiguration;

ui/apps/platform/src/services/ReportsService.types.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,36 @@ export type CollectionScope = {
104104
collectionName: string;
105105
};
106106

107+
export type EntityScope = {
108+
rules: EntityScopeRule[];
109+
};
110+
111+
export type MatchType = 'EXACT' | 'REGEX';
112+
113+
export type RuleValue = {
114+
value: string;
115+
matchType: MatchType;
116+
};
117+
118+
export type EntityScopeRule = {
119+
entity: ScopeEntity;
120+
field: ScopeField;
121+
values: RuleValue[];
122+
};
123+
124+
export type ScopeEntity =
125+
| 'SCOPE_ENTITY_UNSET'
126+
| 'SCOPE_ENTITY_DEPLOYMENT'
127+
| 'SCOPE_ENTITY_NAMESPACE'
128+
| 'SCOPE_ENTITY_CLUSTER';
129+
130+
export type ScopeField =
131+
| 'FIELD_UNSET'
132+
| 'FIELD_ID'
133+
| 'FIELD_NAME'
134+
| 'FIELD_LABEL'
135+
| 'FIELD_ANNOTATION';
136+
107137
export type CollectionSnapshot = {
108138
id: string;
109139
name: string;

0 commit comments

Comments
 (0)