pub struct Task {
pub id: String,
pub content: String,
pub status: TaskStatus,
pub priority: TaskPriority,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub completed_at: Option<DateTime<Utc>>,
pub due_date: Option<DateTime<Utc>>,
pub dependencies: Vec<TaskDependency>,
pub metadata: TaskMetadata,
pub progress: f32,
pub notes: Vec<String>,
}
Expand description
Individual task item
Fields§
§id: String
§content: String
§status: TaskStatus
§priority: TaskPriority
§created_at: DateTime<Utc>
§updated_at: DateTime<Utc>
§completed_at: Option<DateTime<Utc>>
§due_date: Option<DateTime<Utc>>
§dependencies: Vec<TaskDependency>
§metadata: TaskMetadata
§progress: f32
§notes: Vec<String>
Implementations§
Source§impl Task
impl Task
pub fn new(id: String, content: String, priority: TaskPriority) -> Self
pub fn update_status(&mut self, status: TaskStatus)
pub fn add_note(&mut self, note: String)
pub fn add_dependency(&mut self, dependency: TaskDependency)
pub fn is_blocked_by(&self, other_task: &Task) -> bool
pub fn can_start(&self, all_tasks: &HashMap<String, Task>) -> bool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Task
impl<'de> Deserialize<'de> for Task
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
Auto Trait Implementations§
impl Freeze for Task
impl RefUnwindSafe for Task
impl Send for Task
impl Sync for Task
impl Unpin for Task
impl UnwindSafe for Task
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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