Skip to main content

made_core/entities/
council_snapshot_provenance.rs

1use crate::value_objects::CouncilSnapshotSource;
2use serde::{Deserialize, Serialize};
3use time::OffsetDateTime;
4
5/// An observed prior data snapshot, with no claims about the events before it.
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct CouncilSnapshotProvenance {
8    source: CouncilSnapshotSource,
9    captured_at: OffsetDateTime,
10}
11impl CouncilSnapshotProvenance {
12    #[must_use]
13    pub fn new(source: CouncilSnapshotSource, captured_at: OffsetDateTime) -> Self {
14        Self {
15            source,
16            captured_at,
17        }
18    }
19    #[must_use]
20    pub fn source(&self) -> &CouncilSnapshotSource {
21        &self.source
22    }
23    #[must_use]
24    pub fn captured_at(&self) -> OffsetDateTime {
25        self.captured_at
26    }
27}