pub struct ProjectChange {
pub issue: IssueKey,
pub project_ids: Vec<String>,
pub event: Option<ProjectEvent>,
}Expand description
The outcome of an association mutation: the resulting list plus the event.
The service produces the event and does not write; storage applies the
list and appends the event, so the atomicity rule lives in one place. It never
returns a whole Issue, which is what keeps this module model-free.
Fields§
§issue: IssueKeyThe issue whose associations changed.
project_ids: Vec<String>The association list after the change, first-seen order preserved.
event: Option<ProjectEvent>The event to append, or None when the mutation was a no-op.
None for associating an already-present project or dissociating an
absent one: neither is a change, and recording one would put an entry in
the audit trail for nothing.
Trait Implementations§
Source§impl Clone for ProjectChange
impl Clone for ProjectChange
Source§impl Debug for ProjectChange
impl Debug for ProjectChange
impl Eq for ProjectChange
Source§impl PartialEq for ProjectChange
impl PartialEq for ProjectChange
impl StructuralPartialEq for ProjectChange
Auto Trait Implementations§
impl Freeze for ProjectChange
impl RefUnwindSafe for ProjectChange
impl Send for ProjectChange
impl Sync for ProjectChange
impl Unpin for ProjectChange
impl UnsafeUnpin for ProjectChange
impl UnwindSafe for ProjectChange
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
Mutably borrows from an owned value. Read more
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
Compare self to
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> ⓘ
Converts
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> ⓘ
Converts
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