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