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