use crate::csaf::traits::util::not_present_20::NotPresentInCsaf20;
use crate::csaf::types::csaf_datetime::CsafDateTime;
use crate::schema::csaf2_1::schema::{Epss, Percentile, Probability};
pub trait EpssTrait {
fn get_percentile(&self) -> &Percentile;
fn get_probability(&self) -> &Probability;
fn get_timestamp(&self) -> CsafDateTime;
}
impl EpssTrait for NotPresentInCsaf20 {
fn get_percentile(&self) -> &Percentile {
self.into_any()
}
fn get_probability(&self) -> &Probability {
self.into_any()
}
fn get_timestamp(&self) -> CsafDateTime {
self.into_any()
}
}
impl EpssTrait for Epss {
fn get_percentile(&self) -> &Percentile {
&self.percentile
}
fn get_probability(&self) -> &Probability {
&self.probability
}
fn get_timestamp(&self) -> CsafDateTime {
CsafDateTime::from(&self.timestamp)
}
}