use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CveTimelineEntry {
#[serde(rename = "affected_component")]
pub affected_component: String,
#[serde(rename = "cve_id")]
pub cve_id: String,
#[serde(rename = "cve_published_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub cve_published_at: Option<Option<String>>,
#[serde(rename = "days_exposed")]
pub days_exposed: i64,
#[serde(rename = "first_detected_at")]
pub first_detected_at: String,
#[serde(rename = "severity")]
pub severity: String,
#[serde(rename = "status")]
pub status: models::CveStatus,
}
impl CveTimelineEntry {
pub fn new(affected_component: String, cve_id: String, days_exposed: i64, first_detected_at: String, severity: String, status: models::CveStatus) -> CveTimelineEntry {
CveTimelineEntry {
affected_component,
cve_id,
cve_published_at: None,
days_exposed,
first_detected_at,
severity,
status,
}
}
}