pub trait PermissionRepository: Send + Sync {
// Required methods
fn load_config(&self) -> Result<PermissionConfig>;
fn save_config(&self, config: &PermissionConfig) -> Result<()>;
fn load_audit_logs(&self) -> Result<Vec<AuditLogEntry>>;
fn save_audit_logs(&self, logs: &[AuditLogEntry]) -> Result<()>;
fn append_audit_log(&self, entry: &AuditLogEntry) -> Result<()>;
}Expand description
Repository trait for storing and retrieving permissions
Required Methods§
Sourcefn load_config(&self) -> Result<PermissionConfig>
fn load_config(&self) -> Result<PermissionConfig>
Load permission configuration from storage
Sourcefn save_config(&self, config: &PermissionConfig) -> Result<()>
fn save_config(&self, config: &PermissionConfig) -> Result<()>
Save permission configuration to storage
Sourcefn load_audit_logs(&self) -> Result<Vec<AuditLogEntry>>
fn load_audit_logs(&self) -> Result<Vec<AuditLogEntry>>
Load audit logs from storage
Sourcefn save_audit_logs(&self, logs: &[AuditLogEntry]) -> Result<()>
fn save_audit_logs(&self, logs: &[AuditLogEntry]) -> Result<()>
Save audit logs to storage
Sourcefn append_audit_log(&self, entry: &AuditLogEntry) -> Result<()>
fn append_audit_log(&self, entry: &AuditLogEntry) -> Result<()>
Append a single audit log entry to storage