Skip to main content

Mountain/IPC/Security/PermissionManager/
SecurityEvent.rs

1
2//! Audit log entry written by `Manager::Struct::log_security_event`.
3//! Pairs a `SecurityEventType::Enum` with the user id,
4//! attempted operation, timestamp, and free-form details.
5
6use serde::{Deserialize, Serialize};
7
8use crate::IPC::Security::PermissionManager::SecurityEventType;
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct Struct {
12	pub event_type:SecurityEventType::Enum,
13
14	pub user_id:String,
15
16	pub operation:String,
17
18	pub timestamp:std::time::SystemTime,
19
20	pub details:Option<String>,
21}
22
23impl Struct {
24	pub fn new(event_type:SecurityEventType::Enum, user_id:String, operation:String, details:Option<String>) -> Self {
25		Self { event_type, user_id, operation, timestamp:std::time::SystemTime::now(), details }
26	}
27}