Skip to main content

Mountain/IPC/Security/PermissionManager/
SecurityEvent.rs

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