pub(crate) struct ProdTasksFacade {
workspace: Weak<Workspace>,
}Expand description
Production facade over Weak<Workspace> (weak to avoid a cycle with
the MCP server the workspace owns).
Fields§
§workspace: Weak<Workspace>Implementations§
Trait Implementations§
Source§impl TasksFacade for ProdTasksFacade
impl TasksFacade for ProdTasksFacade
Source§fn create_task(
&self,
caller: &SessionSlot,
draft: TaskDraft,
) -> Result<Task, TasksError>
fn create_task( &self, caller: &SessionSlot, draft: TaskDraft, ) -> Result<Task, TasksError>
Register a task for the caller’s project and return the new
record, with its id and timestamps stamped.
Source§fn list_tasks(
&self,
caller: &SessionSlot,
owner: Option<&str>,
parent: Option<&TaskId>,
status: Option<TaskStatus>,
ready: Option<bool>,
) -> Vec<BoardRow>
fn list_tasks( &self, caller: &SessionSlot, owner: Option<&str>, parent: Option<&TaskId>, status: Option<TaskStatus>, ready: Option<bool>, ) -> Vec<BoardRow>
The caller’s project’s board rows, narrowed by
owner (a label),
parent (a task id), status and ready when supplied.Source§fn update_task(
&self,
caller: &SessionSlot,
id: &TaskId,
patch: TaskPatch,
) -> Result<Task, TasksError>
fn update_task( &self, caller: &SessionSlot, id: &TaskId, patch: TaskPatch, ) -> Result<Task, TasksError>
Apply
patch to the task id in the caller’s project and return
the record as the write left it. A missing id names its case:
TasksError::NoSuchTask when the project has no such id,
TasksError::TaskInAnotherProject when another project holds it.
Open to every session in the project.Source§fn delete_task(
&self,
caller: &SessionSlot,
id: &TaskId,
) -> Result<RemovedTaskTree, TasksError>
fn delete_task( &self, caller: &SessionSlot, id: &TaskId, ) -> Result<RemovedTaskTree, TasksError>
Remove the task
id and its descendants within the caller’s
project, returning the named task as it stood and how many
descendants went with it. A missing id names its case the way
TasksFacade::update_task does.Source§fn claim_task(
&self,
caller: &SessionSlot,
id: Option<&str>,
epic: Option<&str>,
) -> Result<Task, TasksError>
fn claim_task( &self, caller: &SessionSlot, id: Option<&str>, epic: Option<&str>, ) -> Result<Task, TasksError>
Claim
id, or the first ready row of epic by rank, for the
caller. Backs tasks__claim.Source§fn wait_task(
&self,
caller: &SessionSlot,
id: &TaskId,
kind: WaitingKind,
detail: Option<String>,
on: Option<&TaskId>,
) -> Result<Task, TasksError>
fn wait_task( &self, caller: &SessionSlot, id: &TaskId, kind: WaitingKind, detail: Option<String>, on: Option<&TaskId>, ) -> Result<Task, TasksError>
Put the caller’s row
id into waiting. Backs tasks__wait.Source§fn attest_task(
&self,
caller: &SessionSlot,
id: &TaskId,
approval: &str,
) -> Result<Task, TasksError>
fn attest_task( &self, caller: &SessionSlot, id: &TaskId, approval: &str, ) -> Result<Task, TasksError>
The lead completes a look wait with the approval the user gave,
quoted. Backs
tasks__approve; the core refuses a non-lead.Auto Trait Implementations§
impl !RefUnwindSafe for ProdTasksFacade
impl !UnwindSafe for ProdTasksFacade
impl Freeze for ProdTasksFacade
impl Send for ProdTasksFacade
impl Sync for ProdTasksFacade
impl Unpin for ProdTasksFacade
impl UnsafeUnpin for ProdTasksFacade
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
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§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