Skip to main content

made_core/value_objects/ceremony/
state_deadline.rs

1use super::{StateId, StateVisit};
2use serde::{Deserialize, Serialize};
3use time::OffsetDateTime;
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
6pub struct StateDeadline {
7    state_id: StateId,
8    state_visit: StateVisit,
9    #[serde(with = "time::serde::rfc3339")]
10    at: OffsetDateTime,
11}
12impl StateDeadline {
13    #[must_use]
14    pub fn new(state_id: StateId, state_visit: StateVisit, at: OffsetDateTime) -> Self {
15        Self {
16            state_id,
17            state_visit,
18            at,
19        }
20    }
21    #[must_use]
22    pub fn state_id(&self) -> &StateId {
23        &self.state_id
24    }
25    #[must_use]
26    pub fn state_visit(&self) -> StateVisit {
27        self.state_visit
28    }
29    #[must_use]
30    pub fn at(&self) -> OffsetDateTime {
31        self.at
32    }
33}