wekan-cli 2.0.0

Agent-first, human-friendly command-line client for Wekan
Documentation
use crate::client::metadata::*;
use serde::Serialize;

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ListArchiveSuccess {
    pub board_id: String,
    pub list_id: String,
    pub archived: bool,
}
use serde_json::Number;

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ListSummary {
    pub list_id: String,
    pub title: String,
    pub modified_at: Option<String>,
    pub cards_modified_at: Option<String>,
}

#[derive(Debug, Eq, PartialEq, Serialize)]
pub struct ListCollectionSuccess {
    pub board_id: String,
    pub lists: Vec<ListSummary>,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ListWipLimitDetail {
    pub value: Number,
    pub enabled: bool,
    pub soft: bool,
}

#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct ListDetail {
    pub scrum: Option<ScrumList>,
    pub role_exceptions: Option<std::collections::BTreeMap<String, ListRoleException>>,
    pub sync_source: Option<Box<ListSyncSource>>,

    pub scrum_revision: Option<serde_json::Number>,
    pub cards_use_list_color: Option<bool>,
    pub linked_board_id: Option<String>,
    pub linked_list_id: Option<String>,
    pub sync_revision: Option<String>,
    pub sync_credential_generation: Option<serde_json::Number>,
    pub sync_credential_fence: Option<String>,
    pub sync_write_back_error: Option<String>,
    pub sync_credential_incarnation: Option<String>,
    pub list_id: String,
    pub title: String,
    pub watchers: Option<Vec<String>>,
    pub starred: Option<bool>,
    pub archived: bool,
    pub archived_at: Option<String>,
    pub deleted_at: Option<String>,
    pub deleted_by: Option<String>,
    pub delete_batch_id: Option<String>,
    pub board_id: String,
    pub swimlane_id: Option<String>,
    pub created_at: String,
    pub sort: Option<Number>,
    pub updated_at: Option<String>,
    pub modified_at: String,
    pub position_updated_at: Option<String>,
    pub wip_limit: Option<ListWipLimitDetail>,
    pub color: Option<String>,
    pub list_type: String,
    pub width: Option<Number>,
}

#[derive(Debug, Eq, PartialEq, Serialize)]
pub struct ListCreateSuccess {
    pub board_id: String,
    pub list_id: String,
}

#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum ListUpdatedField {
    Title,
    Color,
    Starred,
    WipLimit,
}

#[derive(Debug, Eq, PartialEq, Serialize)]
pub struct ListUpdateSuccess {
    pub board_id: String,
    pub list_id: String,
    pub updated_fields: Vec<ListUpdatedField>,
}

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

#[derive(Debug, Eq, PartialEq, Serialize)]
pub struct ListDeleteSuccess {
    pub board_id: String,
    pub list_id: String,
    pub deletion_requested: bool,
    pub delete_mode: ListDeleteMode,
}

#[derive(Debug, Eq, PartialEq, Serialize)]
pub struct ListTransferSuccess {
    pub source_board_id: String,
    pub source_list_id: String,
    pub target_board_id: String,
    pub target_swimlane_id: Option<String>,
    pub returned_list_id: String,
}