1mod api;
2mod auth;
3mod boards;
4mod cards;
5mod checklist_items;
6mod checklists;
7mod comments;
8mod custom_field_items;
9mod custom_fields;
10mod lists;
11mod profiles;
12mod swimlanes;
13mod users;
14
15pub use api::{
16 ApiResponseSuccess, RawApiResponseData, RawResponseBody, RawResponseHeader, RawValueEncoding,
17};
18pub use auth::{
19 AuthStatusEmail, AuthStatusSuccess, AuthStatusUser, AuthSuccess, LogoutScope, LogoutSuccess,
20};
21pub use boards::{
22 BoardCountSuccess, BoardCreateSuccess, BoardDeleteSuccess, BoardDetail, BoardDetailDomain,
23 BoardDetailLabel, BoardDetailMember, BoardDetailOrganization, BoardDetailTeam,
24 BoardDetailWatcher, BoardListScope, BoardListSuccess, BoardRenameSuccess, BoardSummary,
25 UserBoardSummary,
26};
27pub use cards::{
28 CardArchiveSuccess, CardCollectionSuccess, CardCreateSuccess, CardDeleteMode,
29 CardDeleteSuccess, CardDetail, CardDetailCustomField, CardDetailCustomFieldValue,
30 CardDetailDependency, CardDetailLocation, CardDetailPoker, CardDetailSticker,
31 CardDetailStickerHighlight, CardDetailVote, CardRestoreSuccess, CardSubmittedField,
32 CardSummary, CardUpdateSuccess,
33};
34pub use cards::{CardCustomFieldQuerySuccess, CardCustomFieldSetSuccess};
35pub use checklist_items::{
36 ChecklistItemCreateSuccess, ChecklistItemDeleteMode, ChecklistItemDeleteSuccess,
37 ChecklistItemDetail, ChecklistItemSubmittedField, ChecklistItemUpdateSuccess,
38};
39pub use checklists::{
40 ChecklistCollectionSuccess, ChecklistCreateSuccess, ChecklistDeleteMode,
41 ChecklistDeleteSuccess, ChecklistDetail, ChecklistItemSummary, ChecklistSummary,
42};
43pub use comments::{
44 CommentCollectionSuccess, CommentCreateSuccess, CommentDeleteMode, CommentDeleteSuccess,
45 CommentDetail, CommentSummary,
46};
47pub use custom_field_items::{
48 CustomFieldItemCreateSuccess, CustomFieldItemDeleteMode, CustomFieldItemDeleteSuccess,
49 CustomFieldItemSubmittedField, CustomFieldItemUpdateSuccess,
50};
51pub use custom_fields::{
52 CustomFieldCollectionSuccess, CustomFieldCreateSuccess, CustomFieldDeleteMode,
53 CustomFieldDeleteSuccess, CustomFieldDetail, CustomFieldDropdownItem, CustomFieldSettings,
54 CustomFieldSubmittedField, CustomFieldSummary, CustomFieldUpdateSuccess,
55};
56pub use lists::{
57 ListCollectionSuccess, ListCreateSuccess, ListDeleteMode, ListDeleteSuccess, ListDetail,
58 ListSummary, ListUpdateSuccess, ListUpdatedField, ListWipLimitDetail,
59};
60pub use profiles::{ProfileItem, ProfileListSuccess, ProfileRemoveSuccess};
61pub use swimlanes::{
62 SwimlaneCollectionSuccess, SwimlaneCreateSuccess, SwimlaneDeleteMode, SwimlaneDeleteSuccess,
63 SwimlaneDetail, SwimlaneSummary, SwimlaneUpdateSuccess, SwimlaneUpdatedField,
64};
65pub use users::{
66 UserBoardMembership, UserBoardsSuccess, UserCard, UserCardsSuccess, UserCreateSuccess,
67 UserCreateWarning, UserDeleteSuccess, UserDetail, UserEmail, UserListSuccess, UserLoginAction,
68 UserLoginChangeSuccess, UserOrganization, UserOwnershipSuccess, UserProfileDetail,
69 UserProfileNotificationDetail, UserProfileStarredPageDetail, UserSessionData, UserSummary,
70 UserTeam, UserWorkspaceNodeDetail,
71};
72
73use serde::Serialize;
74
75#[derive(Debug, Eq, PartialEq)]
76pub enum CommandSuccess {
77 ApiResponse(ApiResponseSuccess),
78 Cancelled(CancellationSuccess),
79 Registration(AuthSuccess),
80 Login(AuthSuccess),
81 Logout(LogoutSuccess),
82 AuthStatus(AuthStatusSuccess),
83 UserCurrent(UserDetail),
84 UserList(UserListSuccess),
85 UserShown(UserDetail),
86 UserUpdated(UserDetail),
87 UserCards(UserCardsSuccess),
88 UserCreated(UserCreateSuccess),
89 UserBoards(UserBoardsSuccess),
90 UserOwnershipTaken(UserOwnershipSuccess),
91 UserLoginChanged(UserLoginChangeSuccess),
92 UserDeleted(UserDeleteSuccess),
93 BoardList(BoardListSuccess),
94 BoardCount(BoardCountSuccess),
95 BoardShown(Box<BoardDetail>),
96 BoardCreated(BoardCreateSuccess),
97 BoardRenamed(BoardRenameSuccess),
98 BoardDeleted(BoardDeleteSuccess),
99 ListCollection(ListCollectionSuccess),
100 ListShown(ListDetail),
101 ListCreated(ListCreateSuccess),
102 ListUpdated(ListUpdateSuccess),
103 ListDeleted(ListDeleteSuccess),
104 CardCollection(CardCollectionSuccess),
105 CardShown(Box<CardDetail>),
106 CardCreated(CardCreateSuccess),
107 CardUpdated(CardUpdateSuccess),
108 CardArchived(CardArchiveSuccess),
109 CardRestored(CardRestoreSuccess),
110 CardDeleted(CardDeleteSuccess),
111 ChecklistCollection(ChecklistCollectionSuccess),
112 ChecklistShown(ChecklistDetail),
113 ChecklistCreated(ChecklistCreateSuccess),
114 ChecklistDeleted(ChecklistDeleteSuccess),
115 ChecklistItemShown(ChecklistItemDetail),
116 ChecklistItemCreated(ChecklistItemCreateSuccess),
117 ChecklistItemUpdated(ChecklistItemUpdateSuccess),
118 ChecklistItemDeleted(ChecklistItemDeleteSuccess),
119 CustomFieldCollection(CustomFieldCollectionSuccess),
120 CustomFieldShown(CustomFieldDetail),
121 CustomFieldCreated(CustomFieldCreateSuccess),
122 CustomFieldUpdated(CustomFieldUpdateSuccess),
123 CustomFieldDeleted(CustomFieldDeleteSuccess),
124 CustomFieldItemsCreated(CustomFieldItemCreateSuccess),
125 CustomFieldItemUpdated(CustomFieldItemUpdateSuccess),
126 CustomFieldItemDeleted(CustomFieldItemDeleteSuccess),
127 CardCustomFieldSet(CardCustomFieldSetSuccess),
128 CardCustomFieldQuery(CardCustomFieldQuerySuccess),
129 CommentCollection(CommentCollectionSuccess),
130 CommentShown(CommentDetail),
131 CommentCreated(CommentCreateSuccess),
132 CommentDeleted(CommentDeleteSuccess),
133 SwimlaneCollection(SwimlaneCollectionSuccess),
134 SwimlaneShown(SwimlaneDetail),
135 SwimlaneCreated(SwimlaneCreateSuccess),
136 SwimlaneUpdated(SwimlaneUpdateSuccess),
137 SwimlaneDeleted(SwimlaneDeleteSuccess),
138 ProfileAdded(ProfileItem),
139 ProfileList(ProfileListSuccess),
140 ProfileShown(ProfileItem),
141 ProfileUsed(ProfileItem),
142 ProfileUpdated(ProfileItem),
143 ProfileRemoved(ProfileRemoveSuccess),
144}
145
146#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
147#[serde(rename_all = "snake_case")]
148pub enum DestructiveOperation {
149 ApiRequest,
150 AuthLogout,
151 ProfileRemove,
152 UserTakeOwnership,
153 UserDisableLogin,
154 UserDelete,
155 BoardDelete,
156 ListDelete,
157 CardDelete,
158 ChecklistDelete,
159 ChecklistItemDelete,
160 CustomFieldDelete,
161 CustomFieldItemDelete,
162 CommentDelete,
163 SwimlaneDelete,
164}
165
166impl DestructiveOperation {
167 pub const fn as_command(self) -> &'static str {
168 match self {
169 Self::ApiRequest => "api request",
170 Self::AuthLogout => "auth logout",
171 Self::ProfileRemove => "profile remove",
172 Self::UserTakeOwnership => "user take-ownership",
173 Self::UserDisableLogin => "user disable-login",
174 Self::UserDelete => "user delete",
175 Self::BoardDelete => "board delete",
176 Self::ListDelete => "list delete",
177 Self::CardDelete => "card delete",
178 Self::ChecklistDelete => "checklist delete",
179 Self::ChecklistItemDelete => "checklist-item delete",
180 Self::CustomFieldDelete => "custom-field delete",
181 Self::CustomFieldItemDelete => "custom-field-item delete",
182 Self::CommentDelete => "comment delete",
183 Self::SwimlaneDelete => "swimlane delete",
184 }
185 }
186}
187
188#[derive(Debug, Eq, PartialEq, Serialize)]
189pub struct CancellationSuccess {
190 pub cancelled: bool,
191 pub operation: DestructiveOperation,
192}
193
194impl CancellationSuccess {
195 pub const fn new(operation: DestructiveOperation) -> Self {
196 Self {
197 cancelled: true,
198 operation,
199 }
200 }
201}