use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum GoC3IssueSeverity {
Info,
Warning,
Error,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GoC3Issue {
pub severity: GoC3IssueSeverity,
pub code: String,
pub message: String,
}
impl GoC3Issue {
pub fn info(code: impl Into<String>, message: impl Into<String>) -> Self {
Self {
severity: GoC3IssueSeverity::Info,
code: code.into(),
message: message.into(),
}
}
pub fn warning(code: impl Into<String>, message: impl Into<String>) -> Self {
Self {
severity: GoC3IssueSeverity::Warning,
code: code.into(),
message: message.into(),
}
}
pub fn error(code: impl Into<String>, message: impl Into<String>) -> Self {
Self {
severity: GoC3IssueSeverity::Error,
code: code.into(),
message: message.into(),
}
}
}