made_core/entities/
ceremony_agent_activity.rs1use serde::{Deserialize, Serialize};
2
3use super::{CeremonyAgentActivityKind, CeremonyAgentStatus};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct CeremonyAgentActivity {
8 sequence: u64,
9 kind: CeremonyAgentActivityKind,
10 status: Box<CeremonyAgentStatus>,
11}
12
13impl CeremonyAgentActivity {
14 #[must_use]
15 pub fn new(
16 sequence: u64,
17 kind: CeremonyAgentActivityKind,
18 status: CeremonyAgentStatus,
19 ) -> Self {
20 debug_assert!(sequence > 0, "activity sequences start at one");
21 Self {
22 sequence,
23 kind,
24 status: Box::new(status),
25 }
26 }
27
28 #[must_use]
29 pub const fn sequence(&self) -> u64 {
30 self.sequence
31 }
32
33 #[must_use]
34 pub const fn kind(&self) -> CeremonyAgentActivityKind {
35 self.kind
36 }
37
38 #[must_use]
39 pub fn status(&self) -> &CeremonyAgentStatus {
40 &self.status
41 }
42}