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