Skip to main content

wekan_cli/command_result/
boards.rs

1use crate::client::metadata::*;
2use serde::{Deserialize, Serialize};
3use serde_json::Number;
4
5#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
6pub struct BoardMemberCollectionSuccess {
7    pub board_id: String,
8    pub members: Vec<BoardDetailMember>,
9}
10
11#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
12pub struct BoardMemberMutationSuccess {
13    pub board_id: String,
14    pub user_id: String,
15    pub action: super::MembershipAction,
16    pub boards: Vec<BoardSummary>,
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 granted_by: Option<Vec<String>>,
53    pub custom_role_id: Option<String>,
54    pub user_id: String,
55    pub is_admin: bool,
56    pub is_active: bool,
57    pub is_no_comments: Option<bool>,
58    pub is_comment_only: Option<bool>,
59    pub is_worker: Option<bool>,
60    pub is_normal_assigned_only: Option<bool>,
61    pub is_comment_assigned_only: Option<bool>,
62    pub is_read_only: Option<bool>,
63    pub is_read_assigned_only: Option<bool>,
64}
65
66#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
67#[serde(rename_all = "snake_case")]
68pub struct BoardDetailWatcher {
69    pub user_id: String,
70    pub level: String,
71}
72
73#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
74#[serde(rename_all = "snake_case")]
75pub struct BoardDetailLabel {
76    pub due_at: Option<String>,
77    pub shared_label_id: Option<String>,
78    pub label_id: String,
79    pub name: Option<String>,
80    pub color: String,
81}
82
83#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
84#[serde(rename_all = "snake_case")]
85pub struct BoardDetailOrganization {
86    pub org_id: String,
87    pub org_display_name: String,
88    pub is_active: bool,
89}
90
91#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
92#[serde(rename_all = "snake_case")]
93pub struct BoardDetailTeam {
94    pub team_id: String,
95    pub team_display_name: String,
96    pub is_active: bool,
97}
98
99#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
100#[serde(rename_all = "snake_case")]
101pub struct BoardDetailDomain {
102    pub domain: String,
103    pub is_active: bool,
104}
105
106#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
107#[serde(rename_all = "snake_case")]
108pub struct BoardDetail {
109    pub scrum: Option<Box<ScrumSettings>>,
110    pub scrum_import_losses: Option<Vec<ScrumImportLoss>>,
111    pub announcement: Option<BoardAnnouncement>,
112    pub wip_limit_groups: Option<Vec<BoardWipGroup>>,
113    pub email_to_card: Option<Box<BoardEmailToCard>>,
114    pub notification_delivery: Option<Box<NotificationDelivery>>,
115    pub column_sets: Option<Vec<BoardColumnSet>>,
116
117    pub scrum_revision: Option<serde_json::Number>,
118    pub allows_instance_editing: Option<bool>,
119    pub import_run_id: Option<String>,
120    pub sync_effects_enabled: Option<bool>,
121    pub map_image_attachment_id: Option<String>,
122    pub auto_archive_inactive_days: Option<Number>,
123    pub rules_visible_to_members: Option<bool>,
124    pub card_field_order: Option<Vec<String>>,
125    pub minicard_field_order: Option<Vec<String>>,
126    pub notify_override_tray: Option<bool>,
127    pub notify_override_email: Option<bool>,
128    pub due_reminder_days: Option<Vec<Number>>,
129    pub due_reminder_webhook: Option<bool>,
130    pub labels_above_title_on_card: Option<bool>,
131    pub allows_checklist_due_date_on_minicard: Option<bool>,
132    pub allows_location_on_minicard: Option<bool>,
133    pub allows_swimlane_name_on_card: Option<bool>,
134    pub allows_flowtime_on_minicard: Option<bool>,
135    pub allows_pomodoro_on_minicard: Option<bool>,
136    pub allows_attachment_list_on_minicard: Option<bool>,
137    pub allows_text_notes_on_minicard: Option<bool>,
138    pub allows_comment_count_on_card: Option<bool>,
139    pub allows_activities_on_minicard: Option<bool>,
140    pub allows_card_buttons_on_minicard: Option<bool>,
141    pub allows_description_badge_on_card: Option<bool>,
142    pub allows_unread_comments_on_card: Option<bool>,
143    pub allows_due_from_title_on_card: Option<bool>,
144    pub allows_due_from_title_on_minicard: Option<bool>,
145    pub allows_similar_cards_on_card: Option<bool>,
146    pub allows_similar_cards_on_minicard: Option<bool>,
147    pub allows_at_risk_on_card: Option<bool>,
148    pub allows_at_risk_on_minicard: Option<bool>,
149    pub allows_suggested_members_on_card: Option<bool>,
150    pub allows_forecast_on_card: Option<bool>,
151    pub allows_forecast_on_minicard: Option<bool>,
152    pub allows_checklist_from_description_on_card: Option<bool>,
153    pub allows_action_items_on_card: Option<bool>,
154    pub allows_whiteboard_on_card: Option<bool>,
155    pub shared_list_headers: Option<bool>,
156    pub board_view_settings: Option<
157        std::collections::BTreeMap<
158            String,
159            crate::client::boards::presentation::StoredBoardViewVisibility,
160        >,
161    >,
162    pub board_view_order: Option<Vec<String>>,
163    pub date_format_override: Option<bool>,
164    pub date_format: Option<String>,
165    pub ask_for_move_reason: Option<bool>,
166    pub subtasks_default_swimlane_id: Option<String>,
167    pub allows_swimlane_dragging: Option<bool>,
168    pub allows_list_dragging: Option<bool>,
169    pub allows_card_dragging: Option<bool>,
170    pub allows_checklist_dragging: Option<bool>,
171    pub allows_checklist_item_dragging: Option<bool>,
172    pub allows_subtask_dragging: Option<bool>,
173    pub allows_minicard_collapse: Option<bool>,
174    pub labels_above_title_on_minicard: Option<bool>,
175    pub allows_checklist_due_date: Option<bool>,
176    pub allows_checklist_title: Option<bool>,
177    pub allows_comments_on_minicard: Option<bool>,
178    pub show_label_text: Option<bool>,
179    pub allows_swimlane_name_on_minicard: Option<bool>,
180    pub allows_spent_time: Option<bool>,
181    pub allows_spent_time_on_minicard: Option<bool>,
182    pub allows_stickers: Option<bool>,
183    pub allows_stickers_on_minicard: Option<bool>,
184    pub allows_location: Option<bool>,
185    pub allows_dependencies: Option<bool>,
186    pub allows_dependencies_on_minicard: Option<bool>,
187    pub allows_flowtime: Option<bool>,
188    pub allows_pomodoro: Option<bool>,
189    pub allows_vote: Option<bool>,
190    pub allows_vote_on_minicard: Option<bool>,
191    pub allows_poker: Option<bool>,
192    pub allows_poker_on_minicard: Option<bool>,
193    pub allows_text_notes: Option<bool>,
194    pub allows_comment_count_on_minicard: Option<bool>,
195    pub allows_card_collapse: Option<bool>,
196    pub allows_checklist_title_on_minicard: Option<bool>,
197    pub allows_label_text_on_card: Option<bool>,
198    pub allows_card_color_on_card: Option<bool>,
199    pub allows_card_color_on_minicard: Option<bool>,
200    pub allows_parent_card_on_card: Option<bool>,
201    pub allows_parent_card_on_minicard: Option<bool>,
202    pub allows_linked_card_on_card: Option<bool>,
203    pub allows_linked_card_on_minicard: Option<bool>,
204    pub allows_card_buttons_on_card: Option<bool>,
205    pub allows_description_badge_on_minicard: Option<bool>,
206    pub allows_unread_comments_on_minicard: Option<bool>,
207    pub allows_issue_type_on_minicard: Option<bool>,
208    pub sticky_list_headers: Option<bool>,
209    pub list_width_resize_locked: Option<bool>,
210    pub swimlane_height_resize_locked: Option<bool>,
211    pub default_public_board_view: Option<String>,
212    pub default_private_board_view: Option<String>,
213    pub same_width_for_all_lists: Option<bool>,
214    pub same_width_for_all_lists_value: Option<Number>,
215    pub key: Option<String>,
216    pub board_id: String,
217    pub title: String,
218    pub slug: Option<String>,
219    pub archived: Option<bool>,
220    pub archived_at: Option<String>,
221    pub created_at: Option<String>,
222    pub modified_at: Option<String>,
223    pub stars: Option<Number>,
224    #[serde(default)]
225    pub labels: Vec<BoardDetailLabel>,
226    #[serde(default)]
227    pub members: Vec<BoardDetailMember>,
228    #[serde(default)]
229    pub watchers: Vec<BoardDetailWatcher>,
230    pub permission: Option<String>,
231    #[serde(default)]
232    pub orgs: Vec<BoardDetailOrganization>,
233    #[serde(default)]
234    pub teams: Vec<BoardDetailTeam>,
235    #[serde(default)]
236    pub domains: Vec<BoardDetailDomain>,
237    #[serde(default)]
238    pub import_usernames: Vec<String>,
239    pub color: Option<String>,
240    #[serde(default)]
241    pub custom_theme_colors: Vec<String>,
242    pub background_image_url: Option<String>,
243    pub background_image_id: Option<String>,
244    pub allows_card_counter_list: Option<bool>,
245    pub card_aging: Option<bool>,
246    pub show_dependencies: Option<bool>,
247    pub card_aging_days1: Option<Number>,
248    pub card_aging_days2: Option<Number>,
249    pub card_aging_days3: Option<Number>,
250    pub allows_board_member_list: Option<bool>,
251    pub description: Option<String>,
252    pub subtasks_default_board_id: Option<String>,
253    pub migration_version: Option<Number>,
254    pub subtasks_default_list_id: Option<String>,
255    pub date_settings_default_board_id: Option<String>,
256    pub date_settings_default_list_id: Option<String>,
257    pub allows_subtasks: Option<bool>,
258    pub allows_subtasks_on_minicard: Option<bool>,
259    pub allows_attachments: Option<bool>,
260    pub allows_attachments_on_minicard: Option<bool>,
261    pub allows_checklists: Option<bool>,
262    pub allows_checklists_on_minicard: Option<bool>,
263    pub allows_custom_fields: Option<bool>,
264    pub allows_custom_fields_on_minicard: Option<bool>,
265    pub allows_checklist_count_badge_on_minicard: Option<bool>,
266    pub allows_comments: Option<bool>,
267    pub allows_description_title: Option<bool>,
268    pub allows_description_title_on_minicard: Option<bool>,
269    pub allows_description_text: Option<bool>,
270    pub allows_description_text_on_minicard: Option<bool>,
271    pub allows_cover_attachment_on_minicard: Option<bool>,
272    pub allows_cover_attachment_on_card: Option<bool>,
273    pub allows_badge_attachment_on_minicard: Option<bool>,
274    pub allows_attachment_count_on_card: Option<bool>,
275    pub allows_checklist_count_badge_on_card: Option<bool>,
276    pub allows_card_sorting_by_number_on_minicard: Option<bool>,
277    pub allows_card_number: Option<bool>,
278    pub allows_card_number_on_minicard: Option<bool>,
279    pub allows_activities: Option<bool>,
280    pub allows_labels: Option<bool>,
281    pub allows_labels_on_minicard: Option<bool>,
282    pub allows_creator: Option<bool>,
283    pub allows_creator_on_minicard: Option<bool>,
284    pub allows_assignee: Option<bool>,
285    pub allows_assignee_on_minicard: Option<bool>,
286    pub allows_members: Option<bool>,
287    pub allows_members_on_minicard: Option<bool>,
288    pub allows_requested_by: Option<bool>,
289    pub allows_requested_by_on_minicard: Option<bool>,
290    pub allows_card_sorting_by_number: Option<bool>,
291    pub allows_show_lists: Option<bool>,
292    pub allows_assigned_by: Option<bool>,
293    pub allows_assigned_by_on_minicard: Option<bool>,
294    pub allows_show_lists_on_minicard: Option<bool>,
295    pub allows_checklist_at_minicard: Option<bool>,
296    pub allows_received_date: Option<bool>,
297    pub restrict_comment_editing: Option<bool>,
298    pub allows_personal_list_width: Option<bool>,
299    pub auto_width: Option<bool>,
300    pub allows_received_date_on_minicard: Option<bool>,
301    pub allows_start_date: Option<bool>,
302    pub allows_start_date_on_minicard: Option<bool>,
303    pub allows_end_date: Option<bool>,
304    pub allows_end_date_on_minicard: Option<bool>,
305    pub allows_due_date: Option<bool>,
306    pub allows_due_date_on_minicard: Option<bool>,
307    pub allows_due_complete: Option<bool>,
308    pub allows_due_complete_on_minicard: Option<bool>,
309    pub present_parent_task: Option<String>,
310    pub received_at: Option<String>,
311    pub start_at: Option<String>,
312    pub due_at: Option<String>,
313    pub end_at: Option<String>,
314    pub spent_time: Option<Number>,
315    pub is_overtime: Option<bool>,
316    pub board_type: Option<String>,
317    pub sort: Option<Number>,
318    pub show_activities: Option<bool>,
319}
320
321#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
322#[serde(rename_all = "snake_case")]
323pub enum BoardListScope {
324    Active,
325    Public,
326}
327
328#[derive(Debug, Eq, PartialEq, Serialize)]
329pub struct BoardListSuccess {
330    pub scope: BoardListScope,
331    pub boards: Vec<BoardSummary>,
332}
333
334#[derive(Debug, Eq, PartialEq, Serialize)]
335pub struct BoardCountSuccess {
336    pub instance: u64,
337    pub private: u64,
338    pub public: u64,
339}
340
341#[derive(Debug, Eq, PartialEq, Serialize)]
342pub struct BoardCreateSuccess {
343    pub board_id: String,
344    pub default_swimlane_id: String,
345}
346
347#[derive(Debug, Eq, PartialEq, Serialize)]
348pub struct BoardRenameSuccess {
349    pub board_id: String,
350    pub title: String,
351}
352
353#[derive(Debug, Eq, PartialEq, Serialize)]
354pub struct BoardDeleteSuccess {
355    pub board_id: String,
356    pub deleted: bool,
357}
358
359#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
360pub struct BoardLabelCollection {
361    pub board_id: String,
362    pub labels: Vec<BoardDetailLabel>,
363}
364
365#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
366pub struct BoardLabelAdded {
367    pub board_id: String,
368    pub label_id: String,
369}
370
371#[derive(Debug, Eq, PartialEq, Serialize)]
372pub struct BoardCopySuccess {
373    pub source_board_id: String,
374    pub board_id: String,
375}