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