made_core/ports/
ceremony_agent_status.rs1use async_trait::async_trait;
2
3use crate::entities::CeremonyAgentStatus;
4use crate::error::DomainError;
5use crate::ports::{
6 CeremonyAgentActivityPage, CeremonyAgentActivityQuery, CeremonyAgentActivitySubscriptionPort,
7 CeremonyAgentStatusPage, CeremonyAgentStatusQuery,
8};
9use crate::value_objects::AuthorizationEvidence;
10
11#[async_trait]
12pub trait CeremonyAgentStatusPort: Send + Sync {
13 fn subscribe_activity(&self) -> Box<dyn CeremonyAgentActivitySubscriptionPort>;
14 async fn report(
15 &self,
16 status: CeremonyAgentStatus,
17 authorization: Option<AuthorizationEvidence>,
18 ) -> Result<CeremonyAgentStatus, DomainError>;
19 async fn get(
20 &self,
21 ceremony_id: &str,
22 agent_execution_id: &str,
23 authorization: Option<AuthorizationEvidence>,
24 ) -> Result<CeremonyAgentStatus, DomainError>;
25 async fn list(
26 &self,
27 query: CeremonyAgentStatusQuery,
28 authorization: Option<AuthorizationEvidence>,
29 ) -> Result<CeremonyAgentStatusPage, DomainError>;
30 async fn read_activity(
31 &self,
32 query: CeremonyAgentActivityQuery,
33 authorization: Option<AuthorizationEvidence>,
34 ) -> Result<CeremonyAgentActivityPage, DomainError>;
35}