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}