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