Automation
This commit is contained in:
parent
b12a673078
commit
e45a8063e3
6 changed files with 1022 additions and 4 deletions
29
src/todo.rs
29
src/todo.rs
|
|
@ -2,7 +2,7 @@ use chrono::{DateTime, Utc};
|
|||
use serde::{Deserialize, Serialize};
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::enums::ToDoStatus;
|
||||
use crate::enums::{ToDoSource, ToDoStatus};
|
||||
use crate::errors::ValidationError;
|
||||
use crate::{CommunicationType, CommunicationValue, DataTypes, DataValue};
|
||||
|
||||
|
|
@ -24,6 +24,12 @@ pub struct ToDo {
|
|||
pub updated_at: DateTime<Utc>,
|
||||
pub created_by: Uuid,
|
||||
pub project_id: Option<Uuid>,
|
||||
pub parent_todo_id: Option<Uuid>,
|
||||
pub subtask_ids: Vec<Uuid>,
|
||||
pub affected_files: Vec<String>,
|
||||
pub source: ToDoSource,
|
||||
pub automation_chain_id: Option<Uuid>,
|
||||
pub tags: Vec<String>,
|
||||
}
|
||||
|
||||
impl Default for ToDo {
|
||||
|
|
@ -40,6 +46,12 @@ impl Default for ToDo {
|
|||
updated_at: now,
|
||||
created_by: Uuid::nil(),
|
||||
project_id: None,
|
||||
parent_todo_id: None,
|
||||
subtask_ids: Vec::new(),
|
||||
affected_files: Vec::new(),
|
||||
source: ToDoSource::User,
|
||||
automation_chain_id: None,
|
||||
tags: Vec::new(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -58,6 +70,12 @@ impl ToDo {
|
|||
updated_at: now,
|
||||
created_by,
|
||||
project_id: None,
|
||||
parent_todo_id: None,
|
||||
subtask_ids: Vec::new(),
|
||||
affected_files: Vec::new(),
|
||||
source: ToDoSource::User,
|
||||
automation_chain_id: None,
|
||||
tags: Vec::new(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -112,6 +130,15 @@ impl ToDo {
|
|||
(ToDoStatus::ReadyForAgent, ToDoStatus::InProgress) => true,
|
||||
(ToDoStatus::ReadyForAgent, ToDoStatus::Pending) => true,
|
||||
(ToDoStatus::ReadyForAgent, ToDoStatus::Blocked) => true,
|
||||
(ToDoStatus::InProgress, ToDoStatus::Delegated) => true,
|
||||
(ToDoStatus::InProgress, ToDoStatus::Failed) => true,
|
||||
(ToDoStatus::InProgress, ToDoStatus::PendingApproval) => true,
|
||||
(ToDoStatus::Delegated, ToDoStatus::InProgress) => true,
|
||||
(ToDoStatus::Delegated, ToDoStatus::Completed) => true,
|
||||
(ToDoStatus::Delegated, ToDoStatus::Blocked) => true,
|
||||
(ToDoStatus::Failed, ToDoStatus::Pending) => true,
|
||||
(ToDoStatus::PendingApproval, ToDoStatus::InProgress) => true,
|
||||
(ToDoStatus::PendingApproval, ToDoStatus::Blocked) => true,
|
||||
_ => self.status == status,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue