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