use std::path::PathBuf;
use mago_reporting::Level;
use mago_reporting::baseline::BaselineVariant;
use schemars::JsonSchema;
use serde::Deserialize;
use serde::Serialize;
use mago_guard::settings::Settings;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[serde(default, rename_all = "kebab-case", deny_unknown_fields)]
pub struct GuardConfiguration {
pub excludes: Vec<String>,
pub baseline: Option<PathBuf>,
pub baseline_variant: BaselineVariant,
pub minimum_fail_level: Level,
#[serde(flatten)]
pub settings: Settings,
}
impl Default for GuardConfiguration {
fn default() -> Self {
Self {
excludes: vec![],
baseline: None,
baseline_variant: BaselineVariant::default(),
minimum_fail_level: Level::Error,
settings: Settings::default(),
}
}
}