taskboard_core_lib/
commands.rs1#![deny(missing_docs)]
2use crate::task::Task;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5
6#[derive(Clone, Debug, Deserialize, Serialize)]
8pub struct CreateTaskCommand {
9 pub project_id: Uuid,
11 pub title: String,
13 pub estimate: Option<u8>,
15}
16
17#[derive(Clone, Debug, Deserialize, Serialize)]
19pub struct UpdateTaskCommand {
20 pub project_id: Uuid,
22 pub updated_task: Task,
24}
25
26#[derive(Clone, Debug, Deserialize, Serialize)]
28pub struct StartTaskCommand {
29 pub project_id: Uuid,
31 pub task_number: usize,
33}
34
35#[derive(Clone, Debug, Deserialize, Serialize)]
37pub struct CompleteTaskCommand {
38 pub project_id: Uuid,
40 pub task_number: usize,
42}
43
44#[derive(Clone, Debug, Deserialize, Serialize)]
46pub struct CreateProjectCommand {
47 pub name: String,
49}