Skip to main content

TaskManager

Trait TaskManager 

Source
pub trait TaskManager: Send + Sync {
    // Required methods
    fn branch(
        &self,
        project_id: &ProjectId,
        name: TaskName,
        title: String,
        context_brief: String,
        parent_id: Option<TaskId>,
    ) -> Result<BranchResult, TaskError>;
    fn transition(
        &self,
        id: &TaskId,
        to: TaskStatus,
    ) -> Result<TaskSummary, TaskError>;
    fn complete(
        &self,
        id: &TaskId,
        summary: &str,
    ) -> Result<TaskSummary, TaskError>;
    fn get(&self, id: &TaskId) -> Option<TaskSummary>;
    fn children(&self, id: &TaskId) -> Vec<TaskSummary>;
}

Required Methods§

Source

fn branch( &self, project_id: &ProjectId, name: TaskName, title: String, context_brief: String, parent_id: Option<TaskId>, ) -> Result<BranchResult, TaskError>

Source

fn transition( &self, id: &TaskId, to: TaskStatus, ) -> Result<TaskSummary, TaskError>

Source

fn complete(&self, id: &TaskId, summary: &str) -> Result<TaskSummary, TaskError>

Source

fn get(&self, id: &TaskId) -> Option<TaskSummary>

Source

fn children(&self, id: &TaskId) -> Vec<TaskSummary>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§