pub(crate) struct TaskPatch {
pub subject: Option<String>,
pub active_form: Option<String>,
pub detail: Option<String>,
pub status: Option<TaskStatus>,
pub owner: Option<String>,
pub parent: Option<String>,
pub estimate: Option<String>,
pub rank: Option<i64>,
pub verify: Option<Verify>,
pub parked: Option<bool>,
pub links_add: Vec<TaskLinkDraft>,
pub links_remove: Vec<String>,
}Expand description
The fields tasks__update may change. An absent field is left alone.
Fields§
§subject: Option<String>§active_form: Option<String>§detail: Option<String>§status: Option<TaskStatus>§owner: Option<String>§parent: Option<String>§estimate: Option<String>§rank: Option<i64>§verify: Option<Verify>§parked: Option<bool>Whether the lead parks this wait by design: the chase leaves it alone rather than nudging it. Applies to a row that is waiting.
links_add: Vec<TaskLinkDraft>Links to attach; a target already present on the row is left as it is, so the same PR linked twice stays one link.
links_remove: Vec<String>Links to take off, by exact target.
Implementations§
Source§impl TaskPatch
impl TaskPatch
Sourcefn apply(
&self,
task: &mut Task,
org: &str,
project: &str,
estimate: Option<Estimate>,
at: SystemTime,
)
fn apply( &self, task: &mut Task, org: &str, project: &str, estimate: Option<Estimate>, at: SystemTime, )
Apply the stated fields to task. org and project name the
caller’s project, which is where an owner label is resolved;
estimate arrives pre-parsed so an unparseable one is refused
before any field moves.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TaskPatch
impl<'de> Deserialize<'de> for TaskPatch
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TaskPatch
impl StructuralPartialEq for TaskPatch
Auto Trait Implementations§
impl Freeze for TaskPatch
impl RefUnwindSafe for TaskPatch
impl Send for TaskPatch
impl Sync for TaskPatch
impl Unpin for TaskPatch
impl UnsafeUnpin for TaskPatch
impl UnwindSafe for TaskPatch
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
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>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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