use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RoutineFolder {
pub id: i64,
#[serde(default)]
pub index: i64,
#[serde(default)]
pub title: String,
#[serde(default)]
pub updated_at: String,
#[serde(default)]
pub created_at: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RoutineFoldersPage {
pub page: u32,
pub page_count: u32,
#[serde(default)]
pub routine_folders: Vec<RoutineFolder>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct NewRoutineFolder {
pub title: String,
}
impl NewRoutineFolder {
pub fn new(title: impl Into<String>) -> Self {
Self { title: title.into() }
}
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateRoutineFolderRequest {
pub routine_folder: NewRoutineFolder,
}
impl CreateRoutineFolderRequest {
pub fn new(routine_folder: NewRoutineFolder) -> Self {
Self { routine_folder }
}
}