Skip to main content

wekan_cli/command_result/
boards.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Number;
3
4#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
5pub struct BoardSummary {
6    pub board_id: String,
7    pub title: String,
8}
9
10pub type UserBoardSummary = BoardSummary;
11
12#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
13#[serde(rename_all = "snake_case")]
14pub struct BoardDetailMember {
15    pub user_id: String,
16    pub is_admin: bool,
17    pub is_active: bool,
18    pub is_no_comments: Option<bool>,
19    pub is_comment_only: Option<bool>,
20    pub is_worker: Option<bool>,
21    pub is_normal_assigned_only: Option<bool>,
22    pub is_comment_assigned_only: Option<bool>,
23    pub is_read_only: Option<bool>,
24    pub is_read_assigned_only: Option<bool>,
25}
26
27#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
28#[serde(rename_all = "snake_case")]
29pub struct BoardDetailWatcher {
30    pub user_id: String,
31    pub level: String,
32}
33
34#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
35#[serde(rename_all = "snake_case")]
36pub struct BoardDetailLabel {
37    pub label_id: String,
38    pub name: Option<String>,
39    pub color: String,
40}
41
42#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
43#[serde(rename_all = "snake_case")]
44pub struct BoardDetailOrganization {
45    pub org_id: String,
46    pub org_display_name: String,
47    pub is_active: bool,
48}
49
50#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
51#[serde(rename_all = "snake_case")]
52pub struct BoardDetailTeam {
53    pub team_id: String,
54    pub team_display_name: String,
55    pub is_active: bool,
56}
57
58#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
59#[serde(rename_all = "snake_case")]
60pub struct BoardDetailDomain {
61    pub domain: String,
62    pub is_active: bool,
63}
64
65#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
66#[serde(rename_all = "snake_case")]
67pub struct BoardDetail {
68    pub board_id: String,
69    pub title: String,
70    pub slug: Option<String>,
71    pub archived: Option<bool>,
72    pub archived_at: Option<String>,
73    pub created_at: Option<String>,
74    pub modified_at: Option<String>,
75    pub stars: Option<Number>,
76    #[serde(default)]
77    pub labels: Vec<BoardDetailLabel>,
78    #[serde(default)]
79    pub members: Vec<BoardDetailMember>,
80    #[serde(default)]
81    pub watchers: Vec<BoardDetailWatcher>,
82    pub permission: Option<String>,
83    #[serde(default)]
84    pub orgs: Vec<BoardDetailOrganization>,
85    #[serde(default)]
86    pub teams: Vec<BoardDetailTeam>,
87    #[serde(default)]
88    pub domains: Vec<BoardDetailDomain>,
89    #[serde(default)]
90    pub import_usernames: Vec<String>,
91    pub color: Option<String>,
92    #[serde(default)]
93    pub custom_theme_colors: Vec<String>,
94    pub background_image_url: Option<String>,
95    pub background_image_id: Option<String>,
96    pub allows_card_counter_list: Option<bool>,
97    pub card_aging: Option<bool>,
98    pub show_dependencies: Option<bool>,
99    pub card_aging_days1: Option<Number>,
100    pub card_aging_days2: Option<Number>,
101    pub card_aging_days3: Option<Number>,
102    pub allows_board_member_list: Option<bool>,
103    pub description: Option<String>,
104    pub subtasks_default_board_id: Option<String>,
105    pub migration_version: Option<Number>,
106    pub subtasks_default_list_id: Option<String>,
107    pub date_settings_default_board_id: Option<String>,
108    pub date_settings_default_list_id: Option<String>,
109    pub allows_subtasks: Option<bool>,
110    pub allows_subtasks_on_minicard: Option<bool>,
111    pub allows_attachments: Option<bool>,
112    pub allows_attachments_on_minicard: Option<bool>,
113    pub allows_checklists: Option<bool>,
114    pub allows_checklists_on_minicard: Option<bool>,
115    pub allows_custom_fields: Option<bool>,
116    pub allows_custom_fields_on_minicard: Option<bool>,
117    pub allows_checklist_count_badge_on_minicard: Option<bool>,
118    pub allows_comments: Option<bool>,
119    pub allows_description_title: Option<bool>,
120    pub allows_description_title_on_minicard: Option<bool>,
121    pub allows_description_text: Option<bool>,
122    pub allows_description_text_on_minicard: Option<bool>,
123    pub allows_cover_attachment_on_minicard: Option<bool>,
124    pub allows_cover_attachment_on_card: Option<bool>,
125    pub allows_badge_attachment_on_minicard: Option<bool>,
126    pub allows_attachment_count_on_card: Option<bool>,
127    pub allows_checklist_count_badge_on_card: Option<bool>,
128    pub allows_card_sorting_by_number_on_minicard: Option<bool>,
129    pub allows_card_number: Option<bool>,
130    pub allows_card_number_on_minicard: Option<bool>,
131    pub allows_activities: Option<bool>,
132    pub allows_labels: Option<bool>,
133    pub allows_labels_on_minicard: Option<bool>,
134    pub allows_creator: Option<bool>,
135    pub allows_creator_on_minicard: Option<bool>,
136    pub allows_assignee: Option<bool>,
137    pub allows_assignee_on_minicard: Option<bool>,
138    pub allows_members: Option<bool>,
139    pub allows_members_on_minicard: Option<bool>,
140    pub allows_requested_by: Option<bool>,
141    pub allows_requested_by_on_minicard: Option<bool>,
142    pub allows_card_sorting_by_number: Option<bool>,
143    pub allows_show_lists: Option<bool>,
144    pub allows_assigned_by: Option<bool>,
145    pub allows_assigned_by_on_minicard: Option<bool>,
146    pub allows_show_lists_on_minicard: Option<bool>,
147    pub allows_checklist_at_minicard: Option<bool>,
148    pub allows_received_date: Option<bool>,
149    pub restrict_comment_editing: Option<bool>,
150    pub allows_personal_list_width: Option<bool>,
151    pub auto_width: Option<bool>,
152    pub allows_received_date_on_minicard: Option<bool>,
153    pub allows_start_date: Option<bool>,
154    pub allows_start_date_on_minicard: Option<bool>,
155    pub allows_end_date: Option<bool>,
156    pub allows_end_date_on_minicard: Option<bool>,
157    pub allows_due_date: Option<bool>,
158    pub allows_due_date_on_minicard: Option<bool>,
159    pub allows_due_complete: Option<bool>,
160    pub allows_due_complete_on_minicard: Option<bool>,
161    pub present_parent_task: Option<String>,
162    pub received_at: Option<String>,
163    pub start_at: Option<String>,
164    pub due_at: Option<String>,
165    pub end_at: Option<String>,
166    pub spent_time: Option<Number>,
167    pub is_overtime: Option<bool>,
168    pub board_type: Option<String>,
169    pub sort: Option<Number>,
170    pub show_activities: Option<bool>,
171}
172
173#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
174#[serde(rename_all = "snake_case")]
175pub enum BoardListScope {
176    Active,
177    Public,
178}
179
180#[derive(Debug, Eq, PartialEq, Serialize)]
181pub struct BoardListSuccess {
182    pub scope: BoardListScope,
183    pub boards: Vec<BoardSummary>,
184}
185
186#[derive(Debug, Eq, PartialEq, Serialize)]
187pub struct BoardCountSuccess {
188    pub private: u64,
189    pub public: u64,
190}
191
192#[derive(Debug, Eq, PartialEq, Serialize)]
193pub struct BoardCreateSuccess {
194    pub board_id: String,
195    pub default_swimlane_id: String,
196}
197
198#[derive(Debug, Eq, PartialEq, Serialize)]
199pub struct BoardRenameSuccess {
200    pub board_id: String,
201    pub title: String,
202}
203
204#[derive(Debug, Eq, PartialEq, Serialize)]
205pub struct BoardDeleteSuccess {
206    pub board_id: String,
207    pub deleted: bool,
208}