use serde::{Deserialize, Serialize};
use super::MemoryTier;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum MemoryAuditEvent {
Created { tier: MemoryTier, path: String },
Updated { tier: MemoryTier, path: String },
Deleted { tier: MemoryTier, path: String },
Archived { tier: MemoryTier, path: String },
Restored { tier: MemoryTier, path: String },
}
pub trait AuditRecorder: std::fmt::Debug {
fn record(&self, event: &MemoryAuditEvent);
}
#[derive(Debug)]
pub struct NullRecorder;
impl AuditRecorder for NullRecorder {
fn record(&self, _event: &MemoryAuditEvent) {}
}