use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RepositoryAdvisoryVulnerability {
#[serde(rename = "package", deserialize_with = "Option::deserialize")]
pub package: Option<Box<models::VulnerabilityPackage>>,
#[serde(rename = "vulnerable_version_range", deserialize_with = "Option::deserialize")]
pub vulnerable_version_range: Option<String>,
#[serde(rename = "patched_versions", deserialize_with = "Option::deserialize")]
pub patched_versions: Option<String>,
#[serde(rename = "vulnerable_functions", deserialize_with = "Option::deserialize")]
pub vulnerable_functions: Option<Vec<String>>,
}
impl RepositoryAdvisoryVulnerability {
pub fn new(package: Option<models::VulnerabilityPackage>, vulnerable_version_range: Option<String>, patched_versions: Option<String>, vulnerable_functions: Option<Vec<String>>) -> RepositoryAdvisoryVulnerability {
RepositoryAdvisoryVulnerability {
package: package.map(Box::new),
vulnerable_version_range,
patched_versions,
vulnerable_functions,
}
}
}