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