use super::{
MaskPolicy,
SensitivityLevel,
};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct MaskPolicies {
pub low: MaskPolicy,
pub medium: MaskPolicy,
pub high: MaskPolicy,
pub secret: MaskPolicy,
}
impl MaskPolicies {
pub const fn for_level(&self, level: SensitivityLevel) -> &MaskPolicy {
match level {
SensitivityLevel::Low => &self.low,
SensitivityLevel::Medium => &self.medium,
SensitivityLevel::High => &self.high,
SensitivityLevel::Secret => &self.secret,
}
}
}
impl Default for MaskPolicies {
fn default() -> Self {
Self {
low: MaskPolicy::preserve_edges(2, 2, "****", 4),
medium: MaskPolicy::preserve_suffix(1, "****", 1),
high: MaskPolicy::fixed("****"),
secret: MaskPolicy::fixed("<redacted>"),
}
}
}