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 BoardMemberCollectionSuccess {
6    pub board_id: String,
7    pub members: Vec<BoardDetailMember>,
8}
9
10#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
11pub struct BoardMemberMutationSuccess {
12    pub board_id: String,
13    pub user_id: String,
14    pub action: super::MembershipAction,
15    pub boards: Vec<BoardSummary>,
16    pub mutation_confirmed: bool,
17}
18
19#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
20#[serde(rename_all = "snake_case")]
21pub enum BoardMemberSubmittedField {
22    Role,
23    IsAdmin,
24    IsNoComments,
25    IsCommentOnly,
26    IsWorker,
27    IsNormalAssignedOnly,
28    IsCommentAssignedOnly,
29    IsReadOnly,
30    IsReadAssignedOnly,
31}
32
33#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
34pub struct BoardMemberUpdateSuccess {
35    pub board_id: String,
36    pub user_id: String,
37    pub affected_documents: u64,
38    pub submitted_fields: Vec<BoardMemberSubmittedField>,
39}
40
41#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
42pub struct BoardSummary {
43    pub board_id: String,
44    pub title: String,
45}
46
47pub type UserBoardSummary = BoardSummary;
48
49#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
50#[serde(rename_all = "snake_case")]
51pub struct BoardDetailMember {
52    pub user_id: String,
53    pub is_admin: bool,
54    pub is_active: bool,
55    pub is_no_comments: Option<bool>,
56    pub is_comment_only: Option<bool>,
57    pub is_worker: Option<bool>,
58    pub is_normal_assigned_only: Option<bool>,
59    pub is_comment_assigned_only: Option<bool>,
60    pub is_read_only: Option<bool>,
61    pub is_read_assigned_only: Option<bool>,
62}
63
64#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
65#[serde(rename_all = "snake_case")]
66pub struct BoardDetailWatcher {
67    pub user_id: String,
68    pub level: String,
69}
70
71#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
72#[serde(rename_all = "snake_case")]
73pub struct BoardDetailLabel {
74    pub label_id: String,
75    pub name: Option<String>,
76    pub color: String,
77}
78
79#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
80#[serde(rename_all = "snake_case")]
81pub struct BoardDetailOrganization {
82    pub org_id: String,
83    pub org_display_name: String,
84    pub is_active: bool,
85}
86
87#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
88#[serde(rename_all = "snake_case")]
89pub struct BoardDetailTeam {
90    pub team_id: String,
91    pub team_display_name: String,
92    pub is_active: bool,
93}
94
95#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
96#[serde(rename_all = "snake_case")]
97pub struct BoardDetailDomain {
98    pub domain: String,
99    pub is_active: bool,
100}
101
102#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
103#[serde(rename_all = "snake_case")]
104pub struct BoardDetail {
105    pub board_id: String,
106    pub title: String,
107    pub slug: Option<String>,
108    pub archived: Option<bool>,
109    pub archived_at: Option<String>,
110    pub created_at: Option<String>,
111    pub modified_at: Option<String>,
112    pub stars: Option<Number>,
113    #[serde(default)]
114    pub labels: Vec<BoardDetailLabel>,
115    #[serde(default)]
116    pub members: Vec<BoardDetailMember>,
117    #[serde(default)]
118    pub watchers: Vec<BoardDetailWatcher>,
119    pub permission: Option<String>,
120    #[serde(default)]
121    pub orgs: Vec<BoardDetailOrganization>,
122    #[serde(default)]
123    pub teams: Vec<BoardDetailTeam>,
124    #[serde(default)]
125    pub domains: Vec<BoardDetailDomain>,
126    #[serde(default)]
127    pub import_usernames: Vec<String>,
128    pub color: Option<String>,
129    #[serde(default)]
130    pub custom_theme_colors: Vec<String>,
131    pub background_image_url: Option<String>,
132    pub background_image_id: Option<String>,
133    pub allows_card_counter_list: Option<bool>,
134    pub card_aging: Option<bool>,
135    pub show_dependencies: Option<bool>,
136    pub card_aging_days1: Option<Number>,
137    pub card_aging_days2: Option<Number>,
138    pub card_aging_days3: Option<Number>,
139    pub allows_board_member_list: Option<bool>,
140    pub description: Option<String>,
141    pub subtasks_default_board_id: Option<String>,
142    pub migration_version: Option<Number>,
143    pub subtasks_default_list_id: Option<String>,
144    pub date_settings_default_board_id: Option<String>,
145    pub date_settings_default_list_id: Option<String>,
146    pub allows_subtasks: Option<bool>,
147    pub allows_subtasks_on_minicard: Option<bool>,
148    pub allows_attachments: Option<bool>,
149    pub allows_attachments_on_minicard: Option<bool>,
150    pub allows_checklists: Option<bool>,
151    pub allows_checklists_on_minicard: Option<bool>,
152    pub allows_custom_fields: Option<bool>,
153    pub allows_custom_fields_on_minicard: Option<bool>,
154    pub allows_checklist_count_badge_on_minicard: Option<bool>,
155    pub allows_comments: Option<bool>,
156    pub allows_description_title: Option<bool>,
157    pub allows_description_title_on_minicard: Option<bool>,
158    pub allows_description_text: Option<bool>,
159    pub allows_description_text_on_minicard: Option<bool>,
160    pub allows_cover_attachment_on_minicard: Option<bool>,
161    pub allows_cover_attachment_on_card: Option<bool>,
162    pub allows_badge_attachment_on_minicard: Option<bool>,
163    pub allows_attachment_count_on_card: Option<bool>,
164    pub allows_checklist_count_badge_on_card: Option<bool>,
165    pub allows_card_sorting_by_number_on_minicard: Option<bool>,
166    pub allows_card_number: Option<bool>,
167    pub allows_card_number_on_minicard: Option<bool>,
168    pub allows_activities: Option<bool>,
169    pub allows_labels: Option<bool>,
170    pub allows_labels_on_minicard: Option<bool>,
171    pub allows_creator: Option<bool>,
172    pub allows_creator_on_minicard: Option<bool>,
173    pub allows_assignee: Option<bool>,
174    pub allows_assignee_on_minicard: Option<bool>,
175    pub allows_members: Option<bool>,
176    pub allows_members_on_minicard: Option<bool>,
177    pub allows_requested_by: Option<bool>,
178    pub allows_requested_by_on_minicard: Option<bool>,
179    pub allows_card_sorting_by_number: Option<bool>,
180    pub allows_show_lists: Option<bool>,
181    pub allows_assigned_by: Option<bool>,
182    pub allows_assigned_by_on_minicard: Option<bool>,
183    pub allows_show_lists_on_minicard: Option<bool>,
184    pub allows_checklist_at_minicard: Option<bool>,
185    pub allows_received_date: Option<bool>,
186    pub restrict_comment_editing: Option<bool>,
187    pub allows_personal_list_width: Option<bool>,
188    pub auto_width: Option<bool>,
189    pub allows_received_date_on_minicard: Option<bool>,
190    pub allows_start_date: Option<bool>,
191    pub allows_start_date_on_minicard: Option<bool>,
192    pub allows_end_date: Option<bool>,
193    pub allows_end_date_on_minicard: Option<bool>,
194    pub allows_due_date: Option<bool>,
195    pub allows_due_date_on_minicard: Option<bool>,
196    pub allows_due_complete: Option<bool>,
197    pub allows_due_complete_on_minicard: Option<bool>,
198    pub present_parent_task: Option<String>,
199    pub received_at: Option<String>,
200    pub start_at: Option<String>,
201    pub due_at: Option<String>,
202    pub end_at: Option<String>,
203    pub spent_time: Option<Number>,
204    pub is_overtime: Option<bool>,
205    pub board_type: Option<String>,
206    pub sort: Option<Number>,
207    pub show_activities: Option<bool>,
208}
209
210#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
211#[serde(rename_all = "snake_case")]
212pub enum BoardListScope {
213    Active,
214    Public,
215}
216
217#[derive(Debug, Eq, PartialEq, Serialize)]
218pub struct BoardListSuccess {
219    pub scope: BoardListScope,
220    pub boards: Vec<BoardSummary>,
221}
222
223#[derive(Debug, Eq, PartialEq, Serialize)]
224pub struct BoardCountSuccess {
225    pub private: u64,
226    pub public: u64,
227}
228
229#[derive(Debug, Eq, PartialEq, Serialize)]
230pub struct BoardCreateSuccess {
231    pub board_id: String,
232    pub default_swimlane_id: String,
233}
234
235#[derive(Debug, Eq, PartialEq, Serialize)]
236pub struct BoardRenameSuccess {
237    pub board_id: String,
238    pub title: String,
239}
240
241#[derive(Debug, Eq, PartialEq, Serialize)]
242pub struct BoardDeleteSuccess {
243    pub board_id: String,
244    pub deleted: bool,
245}
246
247#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
248pub struct BoardLabelCollection {
249    pub board_id: String,
250    pub labels: Vec<BoardDetailLabel>,
251}
252
253#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
254pub struct BoardLabelAdded {
255    pub board_id: String,
256    pub label_id: String,
257}
258
259#[derive(Debug, Eq, PartialEq, Serialize)]
260pub struct BoardCopySuccess {
261    pub source_board_id: String,
262    pub board_id: String,
263    /// The returned ID does not confirm completion of unawaited copy effects.
264    pub mutation_confirmed: bool,
265}