osv_db/types/severity.rs
1use serde::Deserialize;
2
3/// A severity rating expressed in a specific scoring system.
4#[derive(Debug, Clone, Deserialize)]
5pub struct Severity {
6 /// The scoring system used.
7 #[serde(rename = "type")]
8 pub severity_type: SeverityType,
9 /// Score string whose format is defined by [`SeverityType`].
10 pub score: String,
11}
12
13/// Supported vulnerability severity scoring systems.
14#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]
15pub enum SeverityType {
16 /// Common Vulnerability Scoring System v2.
17 #[serde(rename = "CVSS_V2")]
18 CvssV2,
19 /// Common Vulnerability Scoring System v3.
20 #[serde(rename = "CVSS_V3")]
21 CvssV3,
22 /// Common Vulnerability Scoring System v4.
23 #[serde(rename = "CVSS_V4")]
24 CvssV4,
25 /// Ubuntu severity levels (`negligible`, `low`, `medium`, `high`, `critical`).
26 Ubuntu,
27}