use nvd_cve::cve::Cve as NvdCve;
#[derive(Clone, Debug)]
pub struct Cve {
pub id: String,
pub description: Option<String>,
pub assigner: String,
pub references: Vec<String>,
pub base_score: Option<f32>,
pub severity: Option<String>,
pub status: String,
}
impl From<NvdCve> for Cve {
fn from(cve: NvdCve) -> Self {
let description = cve.description_en().map(str::to_string);
let base_score = cve.base_score();
let severity = cve.severity().map(str::to_string);
Self {
id: cve.id,
description,
assigner: cve.source_identifier,
references: cve.references.into_iter().map(|r| r.url).collect(),
base_score,
severity,
status: cve.vuln_status,
}
}
}