pub enum Until {
NextSitting,
Sitting {
event: CalendarEventId,
},
Date {
date: NaiveDate,
},
AfterDecision {
decision: GovernanceLogId,
},
}Expand description
When an obligation is due.
NextSitting is resolved against the calendar when read, never pinned
to a date, so a sitting that slips carries the obligation with it.
Its schema is written by hand (see the JsonSchema impl): an anyOf
with one closed object per variant, tagged by when, with no $ref and
no pattern, so it can sit in a strict response format. Closed in
serde too, except beside next_sitting: serde does not deny unknown
fields on a unit variant of an internally tagged enum.
Variants§
NextSitting
The next Council sitting, whenever that is
Sitting
A sitting on the calendar
Fields
event: CalendarEventIdDate
The end of a date
AfterDecision
The next sitting after a decision is taken
Fields
decision: GovernanceLogIdImplementations§
Source§impl Until
impl Until
Sourcepub fn fixed_date(&self) -> Option<NaiveDate>
pub fn fixed_date(&self) -> Option<NaiveDate>
The date this is, when it is a date: what the projection stores as
the due date. Sitting deadlines resolve against the calendar when
read (crate::calendar::Calendar::resolve), never here.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Until
impl<'de> Deserialize<'de> for Until
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Until
impl StructuralPartialEq for Until
Auto Trait Implementations§
impl Freeze for Until
impl RefUnwindSafe for Until
impl Send for Until
impl Sync for Until
impl Unpin for Until
impl UnsafeUnpin for Until
impl UnwindSafe for Until
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.