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