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