relay_knowledge/api/operations/
audit.rs1use serde::{Deserialize, Serialize};
2
3use crate::{api::ApiMetadata, domain::AuditEventRecord};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct AuditSinkStatus {
8 pub durable: bool,
9 pub event_count: usize,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub last_error: Option<String>,
12}
13
14#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
16pub struct AuditQueryApiRequest {
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub operation: Option<String>,
19 pub limit: usize,
20}
21
22#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
24pub struct AuditQueryResponse {
25 pub metadata: ApiMetadata,
26 pub events: Vec<AuditEventRecord>,
27}