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    GlobalSettings(Box<GlobalSettingsSuccess>),
115    GlobalSettingsUpdated(Box<GlobalSettingsUpdateSuccess>),
116    AttachmentSettings(Box<AttachmentSettingsSuccess>),
117    AttachmentSettingsUpdated(Box<AttachmentSettingsUpdateSuccess>),
118    RuleCollection(RuleCollectionSuccess),
119    RuleShown(Box<RuleDetail>),
120    RuleCreated(RuleCreateSuccess),
121    RuleUpdated(RuleUpdateSuccess),
122    RuleDeleted(RuleDeleteSuccess),
123    BoardCardSettings(BoardCardSettingsSuccess),
124    BoardCardSettingsUpdated(BoardCardSettingsUpdateSuccess),
125    BoardDomains(BoardDomainCollectionSuccess),
126    BoardDomainChanged(BoardDomainMutationSuccess),
127    IntegrationCollection(IntegrationCollectionSuccess),
128    IntegrationShown(IntegrationDetail),
129    IntegrationCreated(IntegrationCreateSuccess),
130    IntegrationUpdated(IntegrationUpdateSuccess),
131    IntegrationDeleted(IntegrationDeleteSuccess),
132    IntegrationActivitiesChanged(IntegrationActivityMutationSuccess),
133    BoardCopied(boards::BoardCopySuccess),
134    CardCopied(cards::CardCopySuccess),
135    ListCopied(lists::ListTransferSuccess),
136    ListMoved(lists::ListTransferSuccess),
137    SwimlaneCopied(swimlanes::SwimlaneTransferSuccess),
138    SwimlaneMoved(swimlanes::SwimlaneTransferSuccess),
139    CardCount(cards::CardCountSuccess),
140    SwimlaneCards(cards::SwimlaneCardCollectionSuccess),
141    CardBatch(CardBatchResult),
142    BoardLabels(BoardLabelCollection),
143    BoardLabelAdded(BoardLabelAdded),
144    CardLabels(CardLabelCollection),
145    BoardMembers(BoardMemberCollectionSuccess),
146    BoardMemberChanged(BoardMemberMutationSuccess),
147    BoardMemberUpdated(BoardMemberUpdateSuccess),
148    CardMembers(CardMemberCollectionSuccess),
149    CardAssignees(CardAssigneeCollectionSuccess),
150    CardMembershipChanged(CardMembershipMutationSuccess),
151    BoardDependencies(BoardDependencyCollectionSuccess),
152    CardDependencies(CardDependencyCollectionSuccess),
153    DependencyCreated(DependencyCreateSuccess),
154    DependencyUpdated(DependencyUpdateSuccess),
155    DependencyDeleted(DependencyDeleteSuccess),
156    AttachmentList(AttachmentCollectionSuccess),
157    AttachmentShown(crate::client::attachments::AttachmentInfo),
158    AttachmentUploaded(
159        AttachmentMutationSuccess<crate::client::attachments::AttachmentUploadResponse>,
160    ),
161    BackgroundUploaded(
162        AttachmentMutationSuccess<crate::client::attachments::BackgroundUploadResponse>,
163    ),
164    AttachmentCopied(AttachmentMutationSuccess<crate::client::attachments::AttachmentCopyResponse>),
165    AttachmentMoved(AttachmentMutationSuccess<crate::client::attachments::AttachmentMoveResponse>),
166    AttachmentDeleted(
167        AttachmentMutationSuccess<crate::client::attachments::AttachmentDeleteResponse>,
168    ),
169    AttachmentDownloaded(AttachmentDownloadSuccess),
170    ApiResponse(ApiResponseSuccess),
171    Cancelled(CancellationSuccess),
172    Registration(AuthSuccess),
173    Login(AuthSuccess),
174    Logout(LogoutSuccess),
175    AuthStatus(AuthStatusSuccess),
176    UserCurrent(UserDetail),
177    UserList(UserListSuccess),
178    UserShown(UserDetail),
179    UserUpdated(UserDetail),
180    UserCards(UserCardsSuccess),
181    UserCreated(UserCreateSuccess),
182    UserBoards(UserBoardsSuccess),
183    UserOwnershipTaken(UserOwnershipSuccess),
184    UserLoginChanged(UserLoginChangeSuccess),
185    UserDeleted(UserDeleteSuccess),
186    BoardList(BoardListSuccess),
187    BoardCount(BoardCountSuccess),
188    BoardShown(Box<BoardDetail>),
189    BoardCreated(BoardCreateSuccess),
190    BoardRenamed(BoardRenameSuccess),
191    BoardDeleted(BoardDeleteSuccess),
192    ListCollection(ListCollectionSuccess),
193    ListShown(ListDetail),
194    ListCreated(ListCreateSuccess),
195    ListUpdated(ListUpdateSuccess),
196    ListDeleted(ListDeleteSuccess),
197    CardCollection(CardCollectionSuccess),
198    CardShown(Box<CardDetail>),
199    CardCreated(CardCreateSuccess),
200    CardUpdated(CardUpdateSuccess),
201    CardArchived(CardArchiveSuccess),
202    CardRestored(CardRestoreSuccess),
203    CardDeleted(CardDeleteSuccess),
204    ChecklistCollection(ChecklistCollectionSuccess),
205    ChecklistShown(ChecklistDetail),
206    ChecklistCreated(ChecklistCreateSuccess),
207    ChecklistDeleted(ChecklistDeleteSuccess),
208    ChecklistItemShown(ChecklistItemDetail),
209    ChecklistItemCreated(ChecklistItemCreateSuccess),
210    ChecklistItemUpdated(ChecklistItemUpdateSuccess),
211    ChecklistItemDeleted(ChecklistItemDeleteSuccess),
212    CustomFieldCollection(CustomFieldCollectionSuccess),
213    CustomFieldShown(CustomFieldDetail),
214    CustomFieldCreated(CustomFieldCreateSuccess),
215    CustomFieldUpdated(CustomFieldUpdateSuccess),
216    CustomFieldDeleted(CustomFieldDeleteSuccess),
217    CustomFieldItemsCreated(CustomFieldItemCreateSuccess),
218    CustomFieldItemUpdated(CustomFieldItemUpdateSuccess),
219    CustomFieldItemDeleted(CustomFieldItemDeleteSuccess),
220    CardCustomFieldSet(CardCustomFieldSetSuccess),
221    CardCustomFieldQuery(CardCustomFieldQuerySuccess),
222    CommentCollection(CommentCollectionSuccess),
223    CommentShown(CommentDetail),
224    CommentCreated(CommentCreateSuccess),
225    CommentDeleted(CommentDeleteSuccess),
226    SwimlaneCollection(SwimlaneCollectionSuccess),
227    SwimlaneShown(SwimlaneDetail),
228    SwimlaneCreated(SwimlaneCreateSuccess),
229    SwimlaneUpdated(SwimlaneUpdateSuccess),
230    SwimlaneDeleted(SwimlaneDeleteSuccess),
231    ProfileAdded(ProfileItem),
232    ProfileList(ProfileListSuccess),
233    ProfileShown(ProfileItem),
234    ProfileUsed(ProfileItem),
235    ProfileUpdated(ProfileItem),
236    ProfileRemoved(ProfileRemoveSuccess),
237}
238
239#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
240#[serde(rename_all = "snake_case")]
241pub enum MembershipAction {
242    Add,
243    Remove,
244}
245
246#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
247#[serde(rename_all = "snake_case")]
248pub enum DestructiveOperation {
249    IntegrationDelete,
250    RuleDelete,
251    CardBulkDelete,
252    DependencyDelete,
253    AttachmentDelete,
254    ApiRequest,
255    AuthLogout,
256    ProfileRemove,
257    UserTakeOwnership,
258    UserDisableLogin,
259    UserDelete,
260    BoardDelete,
261    ListDelete,
262    CardDelete,
263    ChecklistDelete,
264    ChecklistItemDelete,
265    CustomFieldDelete,
266    CustomFieldItemDelete,
267    CommentDelete,
268    SwimlaneDelete,
269}
270
271impl DestructiveOperation {
272    pub const fn as_command(self) -> &'static str {
273        match self {
274            Self::IntegrationDelete => "integration delete",
275            Self::RuleDelete => "rule delete",
276            Self::CardBulkDelete => "card bulk delete",
277            Self::DependencyDelete => "dependency delete",
278            Self::AttachmentDelete => "attachment delete",
279            Self::ApiRequest => "api request",
280            Self::AuthLogout => "auth logout",
281            Self::ProfileRemove => "profile remove",
282            Self::UserTakeOwnership => "user take-ownership",
283            Self::UserDisableLogin => "user disable-login",
284            Self::UserDelete => "user delete",
285            Self::BoardDelete => "board delete",
286            Self::ListDelete => "list delete",
287            Self::CardDelete => "card delete",
288            Self::ChecklistDelete => "checklist delete",
289            Self::ChecklistItemDelete => "checklist-item delete",
290            Self::CustomFieldDelete => "custom-field delete",
291            Self::CustomFieldItemDelete => "custom-field-item delete",
292            Self::CommentDelete => "comment delete",
293            Self::SwimlaneDelete => "swimlane delete",
294        }
295    }
296}
297
298#[derive(Debug, Eq, PartialEq, Serialize)]
299pub struct CancellationSuccess {
300    pub cancelled: bool,
301    pub operation: DestructiveOperation,
302}
303
304impl CancellationSuccess {
305    pub const fn new(operation: DestructiveOperation) -> Self {
306        Self {
307            cancelled: true,
308            operation,
309        }
310    }
311}