kanidmd_lib/idm/
audit.rs
1use crate::prelude::*;
2use serde::{Deserialize, Serialize};
3use std::net::IpAddr;
4use time::OffsetDateTime;
5
6#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
7pub enum AuditSource {
8 Internal,
9 Https(IpAddr),
10 Ldaps(IpAddr),
11}
12
13impl From<Source> for AuditSource {
14 fn from(value: Source) -> Self {
15 match value {
16 Source::Internal => AuditSource::Internal,
17 Source::Https(ip) => AuditSource::Https(ip),
18 Source::Ldaps(ip) => AuditSource::Ldaps(ip),
19 }
20 }
21}
22
23#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
24pub enum AuditEvent {
25 AuthenticationDenied {
26 source: AuditSource,
27 uuid: Uuid,
28 spn: String,
29 #[serde(with = "time::serde::timestamp")]
30 time: OffsetDateTime,
31 },
32}