made_core/entities/
published_ceremony_definition.rs1use crate::error::DomainError;
14use crate::value_objects::{CeremonyDefinitionDigest, CeremonyName, CeremonyVersion};
15
16use super::CeremonyDefinition;
17
18#[derive(Debug, Clone, PartialEq, Eq)]
20pub struct PublishedCeremonyDefinition {
21 definition: CeremonyDefinition,
22 digest: CeremonyDefinitionDigest,
23}
24
25impl PublishedCeremonyDefinition {
26 pub fn seal(definition: CeremonyDefinition) -> Result<Self, DomainError> {
32 let digest = definition.digest()?;
33 Ok(Self { definition, digest })
34 }
35
36 #[must_use]
37 pub fn definition(&self) -> &CeremonyDefinition {
38 &self.definition
39 }
40
41 #[must_use]
42 pub fn digest(&self) -> CeremonyDefinitionDigest {
43 self.digest
44 }
45
46 #[must_use]
47 pub fn name(&self) -> &CeremonyName {
48 self.definition.name()
49 }
50
51 #[must_use]
52 pub fn version(&self) -> &CeremonyVersion {
53 self.definition.version()
54 }
55
56 #[must_use]
57 pub fn into_definition(self) -> CeremonyDefinition {
58 self.definition
59 }
60}