pub struct TimeIntentOutcome {
pub kind: HistoryEventKind,
pub entry_id: String,
pub before: Option<TimeEntry>,
pub after: Option<TimeEntry>,
pub event: Option<HistoryEvent>,
pub changed: bool,
}Expand description
One validated intent: the single event it would append, the values it touches, and whether it changes anything.
changed == false is the only case with event == None, and it means the request
asked for exactly what is already there: no event, no write, no updated bump —
the same no-op rule crate::commands::edit applies to --parent and the cycle
lifecycle applies to a repeated action. “Exactly one event per applied mutation”
therefore holds in both directions: a write means one event, an event means a
write.
Fields§
§kind: HistoryEventKindThe event kind this mutation appends.
entry_id: StringThe entry this mutation is about.
before: Option<TimeEntry>The prior value, for an edit or a delete.
after: Option<TimeEntry>The new value, for a create or an edit.
event: Option<HistoryEvent>The one event appended when this mutation is applied.
changed: boolWhether applying this mutation changes the issue at all.
Trait Implementations§
Source§impl Clone for TimeIntentOutcome
impl Clone for TimeIntentOutcome
Source§impl Debug for TimeIntentOutcome
impl Debug for TimeIntentOutcome
impl Eq for TimeIntentOutcome
Source§impl PartialEq for TimeIntentOutcome
impl PartialEq for TimeIntentOutcome
impl StructuralPartialEq for TimeIntentOutcome
Auto Trait Implementations§
impl Freeze for TimeIntentOutcome
impl RefUnwindSafe for TimeIntentOutcome
impl Send for TimeIntentOutcome
impl Sync for TimeIntentOutcome
impl Unpin for TimeIntentOutcome
impl UnsafeUnpin for TimeIntentOutcome
impl UnwindSafe for TimeIntentOutcome
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more