use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub enum Level {
#[default]
None,
Note,
Warning,
Error,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum Kind {
NotApplicable,
Pass,
Fail,
Review,
Open,
Informational,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum BaselineState {
New,
Unchanged,
Updated,
Absent,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub enum NotificationLevel {
#[default]
None,
Note,
Warning,
Error,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum ThreadFlowKind {
Path,
Data,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum SuppressionKind {
InSource,
External,
}
impl std::fmt::Display for Level {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Level::None => write!(f, "none"),
Level::Note => write!(f, "note"),
Level::Warning => write!(f, "warning"),
Level::Error => write!(f, "error"),
}
}
}
impl std::fmt::Display for Kind {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Kind::NotApplicable => write!(f, "notApplicable"),
Kind::Pass => write!(f, "pass"),
Kind::Fail => write!(f, "fail"),
Kind::Review => write!(f, "review"),
Kind::Open => write!(f, "open"),
Kind::Informational => write!(f, "informational"),
}
}
}
impl std::fmt::Display for BaselineState {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
BaselineState::New => write!(f, "new"),
BaselineState::Unchanged => write!(f, "unchanged"),
BaselineState::Updated => write!(f, "updated"),
BaselineState::Absent => write!(f, "absent"),
}
}
}