Skip to main content

wekan_cli/command_result/
lists.rs

1use crate::client::metadata::*;
2use serde::Serialize;
3
4#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
5pub struct ListArchiveSuccess {
6    pub board_id: String,
7    pub list_id: String,
8    pub archived: bool,
9}
10use serde_json::Number;
11
12#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
13pub struct ListSummary {
14    pub list_id: String,
15    pub title: String,
16    pub modified_at: Option<String>,
17    pub cards_modified_at: Option<String>,
18}
19
20#[derive(Debug, Eq, PartialEq, Serialize)]
21pub struct ListCollectionSuccess {
22    pub board_id: String,
23    pub lists: Vec<ListSummary>,
24}
25
26#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
27pub struct ListWipLimitDetail {
28    pub value: Number,
29    pub enabled: bool,
30    pub soft: bool,
31}
32
33#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
34pub struct ListDetail {
35    pub scrum: Option<ScrumList>,
36    pub role_exceptions: Option<std::collections::BTreeMap<String, ListRoleException>>,
37    pub sync_source: Option<Box<ListSyncSource>>,
38
39    pub scrum_revision: Option<serde_json::Number>,
40    pub cards_use_list_color: Option<bool>,
41    pub linked_board_id: Option<String>,
42    pub linked_list_id: Option<String>,
43    pub sync_revision: Option<String>,
44    pub sync_credential_generation: Option<serde_json::Number>,
45    pub sync_credential_fence: Option<String>,
46    pub sync_write_back_error: Option<String>,
47    pub sync_credential_incarnation: Option<String>,
48    pub list_id: String,
49    pub title: String,
50    pub watchers: Option<Vec<String>>,
51    pub starred: Option<bool>,
52    pub archived: bool,
53    pub archived_at: Option<String>,
54    pub deleted_at: Option<String>,
55    pub deleted_by: Option<String>,
56    pub delete_batch_id: Option<String>,
57    pub board_id: String,
58    pub swimlane_id: Option<String>,
59    pub created_at: String,
60    pub sort: Option<Number>,
61    pub updated_at: Option<String>,
62    pub modified_at: String,
63    pub position_updated_at: Option<String>,
64    pub wip_limit: Option<ListWipLimitDetail>,
65    pub color: Option<String>,
66    pub list_type: String,
67    pub width: Option<Number>,
68}
69
70#[derive(Debug, Eq, PartialEq, Serialize)]
71pub struct ListCreateSuccess {
72    pub board_id: String,
73    pub list_id: String,
74}
75
76#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
77#[serde(rename_all = "snake_case")]
78pub enum ListUpdatedField {
79    Title,
80    Color,
81    Starred,
82    WipLimit,
83}
84
85#[derive(Debug, Eq, PartialEq, Serialize)]
86pub struct ListUpdateSuccess {
87    pub board_id: String,
88    pub list_id: String,
89    pub updated_fields: Vec<ListUpdatedField>,
90}
91
92#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
93#[serde(rename_all = "snake_case")]
94pub enum ListDeleteMode {
95    Soft,
96}
97
98#[derive(Debug, Eq, PartialEq, Serialize)]
99pub struct ListDeleteSuccess {
100    pub board_id: String,
101    pub list_id: String,
102    pub deletion_requested: bool,
103    pub delete_mode: ListDeleteMode,
104}
105
106#[derive(Debug, Eq, PartialEq, Serialize)]
107pub struct ListTransferSuccess {
108    pub source_board_id: String,
109    pub source_list_id: String,
110    pub target_board_id: String,
111    pub target_swimlane_id: Option<String>,
112    pub returned_list_id: String,
113}