Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/Security/PermissionManager/
SecurityEvent.rs

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