use serde::{Deserialize, Serialize};
use std::env;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuditConfig {
#[serde(default)]
pub mode: crate::audit::AuditMode,
}
impl Default for AuditConfig {
fn default() -> Self {
Self {
mode: crate::audit::AuditMode::File,
}
}
}
impl AuditConfig {
pub(super) fn apply_env_overrides(&mut self) -> Result<(), String> {
if let Ok(val) = env::var("NORA_AUDIT_LOG") {
self.mode = val
.parse::<crate::audit::AuditMode>()
.map_err(|e| format!("NORA_AUDIT_LOG={:?}: {}", val, e))?;
}
Ok(())
}
}