openapi_github/models/
vulnerability.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Vulnerability {
17 #[serde(rename = "package", deserialize_with = "Option::deserialize")]
18 pub package: Option<Box<models::VulnerabilityPackage>>,
19 #[serde(rename = "vulnerable_version_range", deserialize_with = "Option::deserialize")]
21 pub vulnerable_version_range: Option<String>,
22 #[serde(rename = "first_patched_version", deserialize_with = "Option::deserialize")]
24 pub first_patched_version: Option<String>,
25 #[serde(rename = "vulnerable_functions", deserialize_with = "Option::deserialize")]
27 pub vulnerable_functions: Option<Vec<String>>,
28}
29
30impl Vulnerability {
31 pub fn new(package: Option<models::VulnerabilityPackage>, vulnerable_version_range: Option<String>, first_patched_version: Option<String>, vulnerable_functions: Option<Vec<String>>) -> Vulnerability {
33 Vulnerability {
34 package: package.map(Box::new),
35 vulnerable_version_range,
36 first_patched_version,
37 vulnerable_functions,
38 }
39 }
40}
41