Skip to main content

relay_knowledge/api/operations/
audit.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{api::ApiMetadata, domain::AuditEventRecord};
4
5/// Durable audit sink health surfaced in service diagnostics.
6#[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/// Durable audit query request.
15#[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/// Durable audit query response.
23#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
24pub struct AuditQueryResponse {
25    pub metadata: ApiMetadata,
26    pub events: Vec<AuditEventRecord>,
27}