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