main
ts 103 lines 2.24 KB
Raw
1 // TODO-FE: refactor
2 export interface VulnerabilitySearchItem {
3 cve_id: string
4 severity: VulnerabilitySeverity
5 title: string
6 agent_name: string
7 customer_code?: string | null
8 references?: string | null
9 detected_at: string
10 published_at?: string | null
11 base_score?: number | null
12 package_name?: string | null
13 package_version?: string | null
14 package_architecture?: string | null
15 epss_score?: string | null
16 epss_percentile?: string | null
17 }
18
19 export interface VulnerabilitySearchResponse {
20 vulnerabilities: VulnerabilitySearchItem[]
21 total_count: number
22 critical_count: number
23 high_count: number
24 medium_count: number
25 low_count: number
26 page: number
27 page_size: number
28 total_pages: number
29 has_next: boolean
30 has_previous: boolean
31 success: boolean
32 message: string
33 filters_applied: Record<string, string | number | boolean>
34 }
35
36 export enum VulnerabilitySeverity {
37 Critical = "Critical",
38 High = "High",
39 Medium = "Medium",
40 Low = "Low"
41 }
42
43 export interface VulnerabilitySearchQuery {
44 customer_code?: string
45 agent_name?: string
46 severity?: VulnerabilitySeverity
47 cve_id?: string
48 package_name?: string
49 page?: number
50 page_size?: number
51 include_epss?: boolean
52 }
53
54 export interface VulnerabilityReport {
55 id: number
56 report_name: string
57 customer_code: string
58 file_name: string
59 file_size: number
60 generated_at: string
61 generated_by: number
62 total_vulnerabilities: number
63 critical_count: number
64 high_count: number
65 medium_count: number
66 low_count: number
67 filters_applied: Record<string, string | number | boolean>
68 status: "processing" | "completed" | "failed"
69 error_message?: string | null
70 download_url: string
71 }
72
73 export interface VulnerabilityReportGenerateRequest {
74 customer_code: string
75 report_name?: string
76 agent_name?: string
77 severity?: VulnerabilitySeverity
78 cve_id?: string
79 package_name?: string
80 include_epss?: boolean
81 }
82
83 export interface VulnerabilityReportGenerateResponse {
84 success: boolean
85 message: string
86 report?: VulnerabilityReport
87 error?: string
88 }
89
90 export interface VulnerabilityReportListResponse {
91 success: boolean
92 message: string
93 reports: VulnerabilityReport[]
94 total_count: number
95 }
96
97 export interface VulnerabilityReportDeleteResponse {
98 success: boolean
99 message: string
100 report_id: number
101 report_name: string
102 customer_code: string
103 }