Skip to content

Commit 2955b2e

Browse files
authored
story(license): add basic setup for license user stories
story(license): add basic setup for license user stories
2 parents fcb4fe0 + 8c66c2f commit 2955b2e

17 files changed

+793
-53
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ dist
140140
storybook-static/
141141

142142
.idea/
143+
.vscode/

.vscode/settings.json

Lines changed: 0 additions & 9 deletions
This file was deleted.

package-lock.json

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

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
"version": "1.0.0-dev",
44
"description": "",
55
"dependencies": {
6-
"@patternfly/patternfly": "^6.1.0",
6+
"@patternfly/patternfly": "^6.2.0",
77
"@patternfly/react-charts": "^8.2.0",
88
"@patternfly/react-component-groups": "^6.2.0",
9-
"@patternfly/react-core": "^6.1.0",
10-
"@patternfly/react-table": "^6.1.0",
9+
"@patternfly/react-core": "^6.2.0",
10+
"@patternfly/react-table": "^6.2.0",
1111
"dayjs": "^1.11.13",
1212
"victory": "^37.3.6"
1313
},

src/app/Licenses/Licenses.data.tsx

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
import dayjs from 'dayjs';
2+
3+
const getRandomDate = (start: Date, end: Date): string => {
4+
const randomTimestamp = new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
5+
return formatDate(randomTimestamp.toISOString())!;
6+
};
7+
8+
const getRandomInteger = (min: number, max: number) => Math.floor(Math.random() * (max - min + 1)) + min;
9+
10+
export const formatDate = (value?: string | null) => {
11+
return value ? dayjs(value).format('MMM DD, YYYY') : null;
12+
};
13+
14+
export interface LicenseData {
15+
license: string;
16+
productName: string;
17+
productVersions: {
18+
createdOn: string | null;
19+
labels: string[];
20+
packages: number;
21+
sbom: string;
22+
version: string;
23+
vulnerabilities?: {
24+
label?: string;
25+
name?: string;
26+
color?: string;
27+
count: number;
28+
score: number | null;
29+
severity: 'none' | 'low' | 'medium' | 'high' | 'critical';
30+
}[];
31+
}[];
32+
}
33+
34+
export const licenses: LicenseData[] = [
35+
{
36+
license: 'Apache License 2.0',
37+
productName: 'Red Hat OpenShift Container Platform',
38+
productVersions: [
39+
{
40+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
41+
labels: ['Deploy: Production'],
42+
packages: 53,
43+
sbom: 'OCP 14.10.2',
44+
version: '14.10',
45+
vulnerabilities: [
46+
{
47+
color: 'red',
48+
count: getRandomInteger(1, 100),
49+
label: 'OSV',
50+
score: getRandomInteger(1, 20),
51+
severity: 'high',
52+
},
53+
{
54+
color: 'orange',
55+
count: getRandomInteger(1, 100),
56+
label: 'Medium',
57+
score: getRandomInteger(1, 20),
58+
severity: 'medium',
59+
},
60+
{
61+
color: 'blue',
62+
count: getRandomInteger(1, 100),
63+
label: 'Low',
64+
score: getRandomInteger(1, 20),
65+
severity: 'low',
66+
},
67+
],
68+
},
69+
{
70+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
71+
labels: [],
72+
packages: 40,
73+
sbom: 'OCP 14.9.5',
74+
version: '14.9',
75+
vulnerabilities: [
76+
{
77+
color: 'red',
78+
count: getRandomInteger(1, 100),
79+
label: 'OSV',
80+
score: getRandomInteger(1, 20),
81+
severity: 'high',
82+
},
83+
{
84+
color: 'orange',
85+
count: getRandomInteger(1, 100),
86+
label: 'Red Hat',
87+
score: getRandomInteger(1, 20),
88+
severity: 'medium',
89+
},
90+
{
91+
color: 'blue',
92+
count: getRandomInteger(1, 100),
93+
label: 'OSV',
94+
score: getRandomInteger(1, 20),
95+
severity: 'low',
96+
},
97+
],
98+
},
99+
{
100+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
101+
labels: ['Deploy: Production'],
102+
packages: 1,
103+
sbom: 'OCP 14.8.22',
104+
version: '14.8',
105+
vulnerabilities: [
106+
{
107+
color: 'red',
108+
count: getRandomInteger(1, 100),
109+
label: 'OSV',
110+
score: getRandomInteger(1, 20),
111+
severity: 'high',
112+
},
113+
{
114+
color: 'orange',
115+
count: getRandomInteger(1, 100),
116+
label: 'Medium',
117+
score: getRandomInteger(1, 20),
118+
severity: 'medium',
119+
},
120+
{
121+
color: 'blue',
122+
count: getRandomInteger(1, 100),
123+
label: 'Low',
124+
score: getRandomInteger(1, 20),
125+
severity: 'low',
126+
},
127+
],
128+
},
129+
],
130+
},
131+
{
132+
license: 'Apache License 2.0',
133+
productName: 'Clair Scanner (Red Hat)',
134+
productVersions: [
135+
{
136+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
137+
labels: ['Deploy: Production'],
138+
packages: 14,
139+
sbom: 'ACS 7.6',
140+
version: '10.3',
141+
vulnerabilities: [
142+
{
143+
color: 'red',
144+
count: getRandomInteger(1, 100),
145+
label: 'Red Hat',
146+
score: getRandomInteger(1, 20),
147+
severity: 'high',
148+
},
149+
{
150+
color: 'orange',
151+
count: getRandomInteger(1, 100),
152+
label: 'Red Hat',
153+
score: getRandomInteger(1, 20),
154+
severity: 'medium',
155+
},
156+
],
157+
},
158+
],
159+
},
160+
{
161+
license: 'Apache License 2.0',
162+
productName: 'MongoDB (MongoDB)',
163+
productVersions: [
164+
{
165+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
166+
labels: ['21/11/2021'],
167+
packages: 12,
168+
sbom: 'MongoDB 5.6',
169+
version: '10.2',
170+
vulnerabilities: [
171+
{
172+
color: 'red',
173+
count: getRandomInteger(1, 100),
174+
label: 'OSV',
175+
score: getRandomInteger(1, 20),
176+
severity: 'high',
177+
},
178+
],
179+
},
180+
],
181+
},
182+
{
183+
license: 'MIT License',
184+
productName: 'Example',
185+
productVersions: [
186+
{
187+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
188+
labels: [],
189+
packages: 0,
190+
sbom: 'Example',
191+
version: 'X.X',
192+
vulnerabilities: [],
193+
},
194+
],
195+
},
196+
{
197+
license: 'GNU General Public License (GPL) v3.0',
198+
productName: 'Example',
199+
productVersions: [
200+
{
201+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
202+
labels: [],
203+
packages: 0,
204+
sbom: 'Example',
205+
version: 'X.X',
206+
vulnerabilities: [],
207+
},
208+
],
209+
},
210+
{
211+
license: 'BSD 3-Clause "New" or "Revised" License',
212+
productName: 'Example',
213+
productVersions: [
214+
{
215+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
216+
labels: [],
217+
packages: 43,
218+
sbom: 'Example',
219+
version: 'X.X',
220+
vulnerabilities: [],
221+
},
222+
],
223+
},
224+
{
225+
license: 'BSD 2-Clause "Simplified" License',
226+
productName: 'Example',
227+
productVersions: [
228+
{
229+
createdOn: getRandomDate(new Date(2020, 0, 1), new Date()),
230+
labels: [],
231+
packages: 2,
232+
sbom: 'Example',
233+
version: 'X.X',
234+
vulnerabilities: [],
235+
},
236+
],
237+
},
238+
];

0 commit comments

Comments
 (0)