Skip to main content

wekan_cli/
command_result.rs

1mod admin;
2pub use admin::*;
3mod api;
4mod auth;
5mod board_settings;
6mod boards;
7mod bulk_cards;
8mod cards;
9mod checklist_items;
10mod checklists;
11mod comments;
12mod custom_field_items;
13mod custom_fields;
14mod dependencies;
15mod integrations;
16mod rules;
17pub use rules::*;
18mod lists;
19mod profiles;
20mod swimlanes;
21mod users;
22
23pub use api::{
24    ApiResponseSuccess, RawApiResponseData, RawResponseBody, RawResponseHeader, RawValueEncoding,
25};
26pub use auth::{
27    AuthStatusEmail, AuthStatusSuccess, AuthStatusUser, AuthSuccess, LogoutScope, LogoutSuccess,
28};
29pub use board_settings::*;
30pub use boards::{
31    BoardCountSuccess, BoardCreateSuccess, BoardDeleteSuccess, BoardDetail, BoardDetailDomain,
32    BoardDetailLabel, BoardDetailMember, BoardDetailOrganization, BoardDetailTeam,
33    BoardDetailWatcher, BoardListScope, BoardListSuccess, BoardRenameSuccess, BoardSummary,
34    UserBoardSummary,
35};
36pub use boards::{
37    BoardMemberCollectionSuccess, BoardMemberMutationSuccess, BoardMemberSubmittedField,
38    BoardMemberUpdateSuccess,
39};
40pub use cards::{
41    CardArchiveSuccess, CardCollectionSuccess, CardCreateSuccess, CardDeleteMode,
42    CardDeleteSuccess, CardDetail, CardDetailCustomField, CardDetailCustomFieldValue,
43    CardDetailDependency, CardDetailLocation, CardDetailPoker, CardDetailSticker,
44    CardDetailStickerHighlight, CardDetailVote, CardRestoreSuccess, CardSubmittedField,
45    CardSummary, CardUpdateSuccess,
46};
47pub use cards::{
48    CardAssigneeCollectionSuccess, CardMemberCollectionSuccess, CardMembershipKind,
49    CardMembershipMutationSuccess,
50};
51pub use cards::{CardCustomFieldQuerySuccess, CardCustomFieldSetSuccess};
52pub use checklist_items::{
53    ChecklistItemCreateSuccess, ChecklistItemDeleteMode, ChecklistItemDeleteSuccess,
54    ChecklistItemDetail, ChecklistItemSubmittedField, ChecklistItemUpdateSuccess,
55};
56pub use checklists::{
57    ChecklistCollectionSuccess, ChecklistCreateSuccess, ChecklistDeleteMode,
58    ChecklistDeleteSuccess, ChecklistDetail, ChecklistItemSummary, ChecklistSummary,
59};
60pub use comments::{
61    CommentCollectionSuccess, CommentCreateSuccess, CommentDeleteMode, CommentDeleteSuccess,
62    CommentDetail, CommentSummary,
63};
64pub use custom_field_items::{
65    CustomFieldItemCreateSuccess, CustomFieldItemDeleteMode, CustomFieldItemDeleteSuccess,
66    CustomFieldItemSubmittedField, CustomFieldItemUpdateSuccess,
67};
68pub use custom_fields::{
69    CustomFieldCollectionSuccess, CustomFieldCreateSuccess, CustomFieldDeleteMode,
70    CustomFieldDeleteSuccess, CustomFieldDetail, CustomFieldDropdownItem, CustomFieldSettings,
71    CustomFieldSubmittedField, CustomFieldSummary, CustomFieldUpdateSuccess,
72};
73pub use dependencies::{
74    BoardDependencyCollectionSuccess, CardDependencyCollectionSuccess, DependencyCreateSuccess,
75    DependencyDeleteSuccess, DependencyLine, DependencySubmittedField, DependencySummary,
76    DependencyUpdateSuccess,
77};
78pub use lists::{
79    ListCollectionSuccess, ListCreateSuccess, ListDeleteMode, ListDeleteSuccess, ListDetail,
80    ListSummary, ListUpdateSuccess, ListUpdatedField, ListWipLimitDetail,
81};
82pub use profiles::{ProfileItem, ProfileListSuccess, ProfileRemoveSuccess};
83pub use swimlanes::{
84    SwimlaneCollectionSuccess, SwimlaneCreateSuccess, SwimlaneDeleteMode, SwimlaneDeleteSuccess,
85    SwimlaneDetail, SwimlaneSummary, SwimlaneUpdateSuccess, SwimlaneUpdatedField,
86};
87pub use users::{
88    UserBoardMembership, UserBoardsSuccess, UserCard, UserCardsSuccess, UserCreateSuccess,
89    UserCreateWarning, UserDeleteSuccess, UserDetail, UserEmail, UserListSuccess, UserLoginAction,
90    UserLoginChangeSuccess, UserOrganization, UserOwnershipSuccess, UserProfileDetail,
91    UserProfileNotificationDetail, UserProfileStarredPageDetail, UserSessionData, UserSummary,
92    UserTeam, UserWorkspaceNodeDetail,
93};
94
95use serde::Serialize;
96
97pub use bulk_cards::*;
98pub use integrations::*;
99
100pub use boards::{BoardLabelAdded, BoardLabelCollection};
101pub use cards::CardLabelCollection;
102
103pub mod attachments;
104pub use attachments::*;
105pub use boards::BoardCopySuccess;
106pub use cards::{
107    CardCopySuccess, CardCountSuccess, SwimlaneCardCollectionSuccess, SwimlaneCardSummary,
108};
109pub use lists::ListTransferSuccess;
110pub use swimlanes::SwimlaneTransferSuccess;
111
112#[derive(Debug, Eq, PartialEq)]
113pub enum CommandSuccess {
114    AdminDomains(AdminDomainCollectionSuccess),
115    AdminOrganizations(AdminOrganizationCollectionSuccess),
116    AdminTeams(AdminTeamCollectionSuccess),
117    AdminOrganizationUpdated(Box<AdminOrganizationUpdateSuccess>),
118    AdminTeamUpdated(Box<AdminTeamUpdateSuccess>),
119    AdminOrganizationFeaturesUpdatedAll(AdminFeaturesUpdateAllSuccess),
120    AdminTeamFeaturesUpdatedAll(AdminFeaturesUpdateAllSuccess),
121    GlobalSettings(Box<GlobalSettingsSuccess>),
122    GlobalSettingsUpdated(Box<GlobalSettingsUpdateSuccess>),
123    AttachmentSettings(Box<AttachmentSettingsSuccess>),
124    AttachmentSettingsUpdated(Box<AttachmentSettingsUpdateSuccess>),
125    RuleCollection(RuleCollectionSuccess),
126    RuleShown(Box<RuleDetail>),
127    RuleCreated(RuleCreateSuccess),
128    RuleUpdated(RuleUpdateSuccess),
129    RuleDeleted(RuleDeleteSuccess),
130    BoardCardSettings(BoardCardSettingsSuccess),
131    BoardCardSettingsUpdated(BoardCardSettingsUpdateSuccess),
132    BoardDomains(BoardDomainCollectionSuccess),
133    BoardDomainChanged(BoardDomainMutationSuccess),
134    IntegrationCollection(IntegrationCollectionSuccess),
135    IntegrationShown(IntegrationDetail),
136    IntegrationCreated(IntegrationCreateSuccess),
137    IntegrationUpdated(IntegrationUpdateSuccess),
138    IntegrationDeleted(IntegrationDeleteSuccess),
139    IntegrationActivitiesChanged(IntegrationActivityMutationSuccess),
140    BoardCopied(boards::BoardCopySuccess),
141    CardCopied(cards::CardCopySuccess),
142    ListCopied(lists::ListTransferSuccess),
143    ListMoved(lists::ListTransferSuccess),
144    SwimlaneCopied(swimlanes::SwimlaneTransferSuccess),
145    SwimlaneMoved(swimlanes::SwimlaneTransferSuccess),
146    CardCount(cards::CardCountSuccess),
147    SwimlaneCards(cards::SwimlaneCardCollectionSuccess),
148    CardBatch(CardBatchResult),
149    BoardLabels(BoardLabelCollection),
150    BoardLabelAdded(BoardLabelAdded),
151    CardLabels(CardLabelCollection),
152    BoardMembers(BoardMemberCollectionSuccess),
153    BoardMemberChanged(BoardMemberMutationSuccess),
154    BoardMemberUpdated(BoardMemberUpdateSuccess),
155    CardMembers(CardMemberCollectionSuccess),
156    CardAssignees(CardAssigneeCollectionSuccess),
157    CardMembershipChanged(CardMembershipMutationSuccess),
158    BoardDependencies(BoardDependencyCollectionSuccess),
159    CardDependencies(CardDependencyCollectionSuccess),
160    DependencyCreated(DependencyCreateSuccess),
161    DependencyUpdated(DependencyUpdateSuccess),
162    DependencyDeleted(DependencyDeleteSuccess),
163    AttachmentList(AttachmentCollectionSuccess),
164    AttachmentShown(crate::client::attachments::AttachmentInfo),
165    AttachmentUploaded(
166        AttachmentMutationSuccess<crate::client::attachments::AttachmentUploadResponse>,
167    ),
168    BackgroundUploaded(
169        AttachmentMutationSuccess<crate::client::attachments::BackgroundUploadResponse>,
170    ),
171    AttachmentCopied(AttachmentMutationSuccess<crate::client::attachments::AttachmentCopyResponse>),
172    AttachmentMoved(AttachmentMutationSuccess<crate::client::attachments::AttachmentMoveResponse>),
173    AttachmentDeleted(
174        AttachmentMutationSuccess<crate::client::attachments::AttachmentDeleteResponse>,
175    ),
176    AttachmentDownloaded(AttachmentDownloadSuccess),
177    ApiResponse(ApiResponseSuccess),
178    Cancelled(CancellationSuccess),
179    Registration(AuthSuccess),
180    Login(AuthSuccess),
181    Logout(LogoutSuccess),
182    AuthStatus(AuthStatusSuccess),
183    UserCurrent(UserDetail),
184    UserList(UserListSuccess),
185    UserShown(UserDetail),
186    UserUpdated(UserDetail),
187    UserCards(UserCardsSuccess),
188    UserCreated(UserCreateSuccess),
189    UserBoards(UserBoardsSuccess),
190    UserOwnershipTaken(UserOwnershipSuccess),
191    UserLoginChanged(UserLoginChangeSuccess),
192    UserDeleted(UserDeleteSuccess),
193    BoardList(BoardListSuccess),
194    BoardCount(BoardCountSuccess),
195    BoardShown(Box<BoardDetail>),
196    BoardCreated(BoardCreateSuccess),
197    BoardRenamed(BoardRenameSuccess),
198    BoardDeleted(BoardDeleteSuccess),
199    ListCollection(ListCollectionSuccess),
200    ListShown(ListDetail),
201    ListCreated(ListCreateSuccess),
202    ListUpdated(ListUpdateSuccess),
203    ListDeleted(ListDeleteSuccess),
204    CardCollection(CardCollectionSuccess),
205    CardShown(Box<CardDetail>),
206    CardCreated(CardCreateSuccess),
207    CardUpdated(CardUpdateSuccess),
208    CardArchived(CardArchiveSuccess),
209    CardRestored(CardRestoreSuccess),
210    CardDeleted(CardDeleteSuccess),
211    ChecklistCollection(ChecklistCollectionSuccess),
212    ChecklistShown(ChecklistDetail),
213    ChecklistCreated(ChecklistCreateSuccess),
214    ChecklistDeleted(ChecklistDeleteSuccess),
215    ChecklistItemShown(ChecklistItemDetail),
216    ChecklistItemCreated(ChecklistItemCreateSuccess),
217    ChecklistItemUpdated(ChecklistItemUpdateSuccess),
218    ChecklistItemDeleted(ChecklistItemDeleteSuccess),
219    CustomFieldCollection(CustomFieldCollectionSuccess),
220    CustomFieldShown(CustomFieldDetail),
221    CustomFieldCreated(CustomFieldCreateSuccess),
222    CustomFieldUpdated(CustomFieldUpdateSuccess),
223    CustomFieldDeleted(CustomFieldDeleteSuccess),
224    CustomFieldItemsCreated(CustomFieldItemCreateSuccess),
225    CustomFieldItemUpdated(CustomFieldItemUpdateSuccess),
226    CustomFieldItemDeleted(CustomFieldItemDeleteSuccess),
227    CardCustomFieldSet(CardCustomFieldSetSuccess),
228    CardCustomFieldQuery(CardCustomFieldQuerySuccess),
229    CommentCollection(CommentCollectionSuccess),
230    CommentShown(CommentDetail),
231    CommentCreated(CommentCreateSuccess),
232    CommentDeleted(CommentDeleteSuccess),
233    SwimlaneCollection(SwimlaneCollectionSuccess),
234    SwimlaneShown(SwimlaneDetail),
235    SwimlaneCreated(SwimlaneCreateSuccess),
236    SwimlaneUpdated(SwimlaneUpdateSuccess),
237    SwimlaneDeleted(SwimlaneDeleteSuccess),
238    ProfileAdded(ProfileItem),
239    ProfileList(ProfileListSuccess),
240    ProfileShown(ProfileItem),
241    ProfileUsed(ProfileItem),
242    ProfileUpdated(ProfileItem),
243    ProfileRemoved(ProfileRemoveSuccess),
244}
245
246#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
247#[serde(rename_all = "snake_case")]
248pub enum MembershipAction {
249    Add,
250    Remove,
251}
252
253#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
254#[serde(rename_all = "snake_case")]
255pub enum DestructiveOperation {
256    AdminOrganizationFeaturesUpdateAll,
257    AdminTeamFeaturesUpdateAll,
258    IntegrationDelete,
259    RuleDelete,
260    CardBulkDelete,
261    DependencyDelete,
262    AttachmentDelete,
263    ApiRequest,
264    AuthLogout,
265    ProfileRemove,
266    UserTakeOwnership,
267    UserDisableLogin,
268    UserDelete,
269    BoardDelete,
270    ListDelete,
271    CardDelete,
272    ChecklistDelete,
273    ChecklistItemDelete,
274    CustomFieldDelete,
275    CustomFieldItemDelete,
276    CommentDelete,
277    SwimlaneDelete,
278}
279
280impl DestructiveOperation {
281    pub const fn as_command(self) -> &'static str {
282        match self {
283            Self::AdminOrganizationFeaturesUpdateAll => "admin org features update-all",
284            Self::AdminTeamFeaturesUpdateAll => "admin team features update-all",
285            Self::IntegrationDelete => "integration delete",
286            Self::RuleDelete => "rule delete",
287            Self::CardBulkDelete => "card bulk delete",
288            Self::DependencyDelete => "dependency delete",
289            Self::AttachmentDelete => "attachment delete",
290            Self::ApiRequest => "api request",
291            Self::AuthLogout => "auth logout",
292            Self::ProfileRemove => "profile remove",
293            Self::UserTakeOwnership => "user take-ownership",
294            Self::UserDisableLogin => "user disable-login",
295            Self::UserDelete => "user delete",
296            Self::BoardDelete => "board delete",
297            Self::ListDelete => "list delete",
298            Self::CardDelete => "card delete",
299            Self::ChecklistDelete => "checklist delete",
300            Self::ChecklistItemDelete => "checklist-item delete",
301            Self::CustomFieldDelete => "custom-field delete",
302            Self::CustomFieldItemDelete => "custom-field-item delete",
303            Self::CommentDelete => "comment delete",
304            Self::SwimlaneDelete => "swimlane delete",
305        }
306    }
307}
308
309#[derive(Debug, Eq, PartialEq, Serialize)]
310pub struct CancellationSuccess {
311    pub cancelled: bool,
312    pub operation: DestructiveOperation,
313}
314
315impl CancellationSuccess {
316    pub const fn new(operation: DestructiveOperation) -> Self {
317        Self {
318            cancelled: true,
319            operation,
320        }
321    }
322}