use std::fmt::Display;
#[derive(Debug)]
pub struct Task {
pub id: u64,
pub name: String,
pub description: Option<String>,
}
impl Display for Task {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match &self.description {
Some(desc) => write!(
f,
"task id = {}, task name = {}, task description = {}",
self.id, self.name, desc
),
None => write!(f, "task id = {},task name = {}", self.id, self.name,),
}
}
}
impl Task {
pub fn new(id: u64, name: String, description: Option<String>) -> Task {
Task {
id,
name,
description,
}
}
}
pub struct CreateTaskRequest {
pub id: u64,
pub name: String,
pub description: Option<String>,
}
impl CreateTaskRequest {
pub fn new(id: u64, name: String, description: Option<String>) -> CreateTaskRequest {
CreateTaskRequest {
id,
name,
description,
}
}
}