wekan-cli 0.11.0

Agent-first, human-friendly command-line client for Wekan
Documentation
use serde::Serialize;
use serde_json::Number;

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ChecklistSummary {
    pub checklist_id: String,
    pub title: String,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ChecklistItemSummary {
    pub item_id: String,
    pub title: String,
    pub is_finished: bool,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ChecklistDetail {
    pub checklist_id: String,
    pub card_id: String,
    pub board_id: Option<String>,
    pub user_id: Option<String>,
    pub title: String,
    pub finished_at: Option<String>,
    pub created_at: String,
    pub modified_at: String,
    pub sort: Number,
    pub hide_checked_checklist_items: Option<bool>,
    pub hide_all_checklist_items: Option<bool>,
    pub show_checklist_at_minicard: Option<bool>,
    pub items: Vec<ChecklistItemSummary>,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ChecklistCollectionSuccess {
    pub board_id: String,
    pub card_id: String,
    pub checklists: Vec<ChecklistSummary>,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ChecklistCreateSuccess {
    pub board_id: String,
    pub card_id: String,
    pub checklist_id: String,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ChecklistDeleteSuccess {
    pub board_id: String,
    pub card_id: String,
    pub checklist_id: String,
    pub deleted: bool,
    pub delete_mode: ChecklistDeleteMode,
}

#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum ChecklistDeleteMode {
    Hard,
}