1mod api;
2mod auth;
3mod boards;
4mod cards;
5mod checklist_items;
6mod checklists;
7mod comments;
8mod custom_field_items;
9mod custom_fields;
10mod lists;
11mod profiles;
12mod swimlanes;
13mod users;
14
15pub use api::{
16 ApiResponseSuccess, RawApiResponseData, RawResponseBody, RawResponseHeader, RawValueEncoding,
17};
18pub use auth::{
19 AuthStatusEmail, AuthStatusSuccess, AuthStatusUser, AuthSuccess, LogoutScope, LogoutSuccess,
20};
21pub use boards::{
22 BoardCountSuccess, BoardCreateSuccess, BoardDeleteSuccess, BoardDetail, BoardDetailDomain,
23 BoardDetailLabel, BoardDetailMember, BoardDetailOrganization, BoardDetailTeam,
24 BoardDetailWatcher, BoardListScope, BoardListSuccess, BoardRenameSuccess, BoardSummary,
25 UserBoardSummary,
26};
27pub use cards::{
28 CardArchiveSuccess, CardCollectionSuccess, CardCreateSuccess, CardDeleteMode,
29 CardDeleteSuccess, CardDetail, CardDetailCustomField, CardDetailCustomFieldValue,
30 CardDetailDependency, CardDetailLocation, CardDetailPoker, CardDetailSticker,
31 CardDetailStickerHighlight, CardDetailVote, CardRestoreSuccess, CardSubmittedField,
32 CardSummary, CardUpdateSuccess,
33};
34pub use cards::{CardCustomFieldQuerySuccess, CardCustomFieldSetSuccess};
35pub use checklist_items::{
36 ChecklistItemCreateSuccess, ChecklistItemDeleteMode, ChecklistItemDeleteSuccess,
37 ChecklistItemDetail, ChecklistItemSubmittedField, ChecklistItemUpdateSuccess,
38};
39pub use checklists::{
40 ChecklistCollectionSuccess, ChecklistCreateSuccess, ChecklistDeleteMode,
41 ChecklistDeleteSuccess, ChecklistDetail, ChecklistItemSummary, ChecklistSummary,
42};
43pub use comments::{
44 CommentCollectionSuccess, CommentCreateSuccess, CommentDeleteMode, CommentDeleteSuccess,
45 CommentDetail, CommentSummary,
46};
47pub use custom_field_items::{
48 CustomFieldItemCreateSuccess, CustomFieldItemDeleteMode, CustomFieldItemDeleteSuccess,
49 CustomFieldItemSubmittedField, CustomFieldItemUpdateSuccess,
50};
51pub use custom_fields::{
52 CustomFieldCollectionSuccess, CustomFieldCreateSuccess, CustomFieldDeleteMode,
53 CustomFieldDeleteSuccess, CustomFieldDetail, CustomFieldDropdownItem, CustomFieldSettings,
54 CustomFieldSubmittedField, CustomFieldSummary, CustomFieldUpdateSuccess,
55};
56pub use lists::{
57 ListCollectionSuccess, ListCreateSuccess, ListDeleteMode, ListDeleteSuccess, ListDetail,
58 ListSummary, ListUpdateSuccess, ListUpdatedField, ListWipLimitDetail,
59};
60pub use profiles::{ProfileItem, ProfileListSuccess, ProfileRemoveSuccess};
61pub use swimlanes::{
62 SwimlaneCollectionSuccess, SwimlaneCreateSuccess, SwimlaneDeleteMode, SwimlaneDeleteSuccess,
63 SwimlaneDetail, SwimlaneSummary, SwimlaneUpdateSuccess, SwimlaneUpdatedField,
64};
65pub use users::{
66 UserBoardMembership, UserBoardsSuccess, UserCard, UserCardsSuccess, UserCreateSuccess,
67 UserCreateWarning, UserDeleteSuccess, UserDetail, UserEmail, UserListSuccess, UserLoginAction,
68 UserLoginChangeSuccess, UserOrganization, UserOwnershipSuccess, UserProfileDetail,
69 UserProfileNotificationDetail, UserProfileStarredPageDetail, UserSessionData, UserSummary,
70 UserTeam, UserWorkspaceNodeDetail,
71};
72
73use serde::Serialize;
74
75pub mod attachments;
76pub use attachments::*;
77
78#[derive(Debug, Eq, PartialEq)]
79pub enum CommandSuccess {
80 AttachmentList(AttachmentCollectionSuccess),
81 AttachmentShown(crate::client::attachments::AttachmentInfo),
82 AttachmentUploaded(
83 AttachmentMutationSuccess<crate::client::attachments::AttachmentUploadResponse>,
84 ),
85 BackgroundUploaded(
86 AttachmentMutationSuccess<crate::client::attachments::BackgroundUploadResponse>,
87 ),
88 AttachmentCopied(AttachmentMutationSuccess<crate::client::attachments::AttachmentCopyResponse>),
89 AttachmentMoved(AttachmentMutationSuccess<crate::client::attachments::AttachmentMoveResponse>),
90 AttachmentDeleted(
91 AttachmentMutationSuccess<crate::client::attachments::AttachmentDeleteResponse>,
92 ),
93 AttachmentDownloaded(AttachmentDownloadSuccess),
94 ApiResponse(ApiResponseSuccess),
95 Cancelled(CancellationSuccess),
96 Registration(AuthSuccess),
97 Login(AuthSuccess),
98 Logout(LogoutSuccess),
99 AuthStatus(AuthStatusSuccess),
100 UserCurrent(UserDetail),
101 UserList(UserListSuccess),
102 UserShown(UserDetail),
103 UserUpdated(UserDetail),
104 UserCards(UserCardsSuccess),
105 UserCreated(UserCreateSuccess),
106 UserBoards(UserBoardsSuccess),
107 UserOwnershipTaken(UserOwnershipSuccess),
108 UserLoginChanged(UserLoginChangeSuccess),
109 UserDeleted(UserDeleteSuccess),
110 BoardList(BoardListSuccess),
111 BoardCount(BoardCountSuccess),
112 BoardShown(Box<BoardDetail>),
113 BoardCreated(BoardCreateSuccess),
114 BoardRenamed(BoardRenameSuccess),
115 BoardDeleted(BoardDeleteSuccess),
116 ListCollection(ListCollectionSuccess),
117 ListShown(ListDetail),
118 ListCreated(ListCreateSuccess),
119 ListUpdated(ListUpdateSuccess),
120 ListDeleted(ListDeleteSuccess),
121 CardCollection(CardCollectionSuccess),
122 CardShown(Box<CardDetail>),
123 CardCreated(CardCreateSuccess),
124 CardUpdated(CardUpdateSuccess),
125 CardArchived(CardArchiveSuccess),
126 CardRestored(CardRestoreSuccess),
127 CardDeleted(CardDeleteSuccess),
128 ChecklistCollection(ChecklistCollectionSuccess),
129 ChecklistShown(ChecklistDetail),
130 ChecklistCreated(ChecklistCreateSuccess),
131 ChecklistDeleted(ChecklistDeleteSuccess),
132 ChecklistItemShown(ChecklistItemDetail),
133 ChecklistItemCreated(ChecklistItemCreateSuccess),
134 ChecklistItemUpdated(ChecklistItemUpdateSuccess),
135 ChecklistItemDeleted(ChecklistItemDeleteSuccess),
136 CustomFieldCollection(CustomFieldCollectionSuccess),
137 CustomFieldShown(CustomFieldDetail),
138 CustomFieldCreated(CustomFieldCreateSuccess),
139 CustomFieldUpdated(CustomFieldUpdateSuccess),
140 CustomFieldDeleted(CustomFieldDeleteSuccess),
141 CustomFieldItemsCreated(CustomFieldItemCreateSuccess),
142 CustomFieldItemUpdated(CustomFieldItemUpdateSuccess),
143 CustomFieldItemDeleted(CustomFieldItemDeleteSuccess),
144 CardCustomFieldSet(CardCustomFieldSetSuccess),
145 CardCustomFieldQuery(CardCustomFieldQuerySuccess),
146 CommentCollection(CommentCollectionSuccess),
147 CommentShown(CommentDetail),
148 CommentCreated(CommentCreateSuccess),
149 CommentDeleted(CommentDeleteSuccess),
150 SwimlaneCollection(SwimlaneCollectionSuccess),
151 SwimlaneShown(SwimlaneDetail),
152 SwimlaneCreated(SwimlaneCreateSuccess),
153 SwimlaneUpdated(SwimlaneUpdateSuccess),
154 SwimlaneDeleted(SwimlaneDeleteSuccess),
155 ProfileAdded(ProfileItem),
156 ProfileList(ProfileListSuccess),
157 ProfileShown(ProfileItem),
158 ProfileUsed(ProfileItem),
159 ProfileUpdated(ProfileItem),
160 ProfileRemoved(ProfileRemoveSuccess),
161}
162
163#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
164#[serde(rename_all = "snake_case")]
165pub enum DestructiveOperation {
166 AttachmentDelete,
167 ApiRequest,
168 AuthLogout,
169 ProfileRemove,
170 UserTakeOwnership,
171 UserDisableLogin,
172 UserDelete,
173 BoardDelete,
174 ListDelete,
175 CardDelete,
176 ChecklistDelete,
177 ChecklistItemDelete,
178 CustomFieldDelete,
179 CustomFieldItemDelete,
180 CommentDelete,
181 SwimlaneDelete,
182}
183
184impl DestructiveOperation {
185 pub const fn as_command(self) -> &'static str {
186 match self {
187 Self::AttachmentDelete => "attachment delete",
188 Self::ApiRequest => "api request",
189 Self::AuthLogout => "auth logout",
190 Self::ProfileRemove => "profile remove",
191 Self::UserTakeOwnership => "user take-ownership",
192 Self::UserDisableLogin => "user disable-login",
193 Self::UserDelete => "user delete",
194 Self::BoardDelete => "board delete",
195 Self::ListDelete => "list delete",
196 Self::CardDelete => "card delete",
197 Self::ChecklistDelete => "checklist delete",
198 Self::ChecklistItemDelete => "checklist-item delete",
199 Self::CustomFieldDelete => "custom-field delete",
200 Self::CustomFieldItemDelete => "custom-field-item delete",
201 Self::CommentDelete => "comment delete",
202 Self::SwimlaneDelete => "swimlane delete",
203 }
204 }
205}
206
207#[derive(Debug, Eq, PartialEq, Serialize)]
208pub struct CancellationSuccess {
209 pub cancelled: bool,
210 pub operation: DestructiveOperation,
211}
212
213impl CancellationSuccess {
214 pub const fn new(operation: DestructiveOperation) -> Self {
215 Self {
216 cancelled: true,
217 operation,
218 }
219 }
220}