1use std::collections::BTreeMap;
4
5use serde::{Deserialize, Serialize};
6
7use crate::types::{DateTime, SensitiveString};
8
9#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
11#[non_exhaustive]
12pub struct AccessToken {
13 #[serde(
15 default,
16 deserialize_with = "crate::types::null_as_default::deserialize"
17 )]
18 pub id: String,
19 #[serde(
21 default,
22 deserialize_with = "crate::types::null_as_default::deserialize"
23 )]
24 pub description: String,
25 #[serde(
27 default,
28 deserialize_with = "crate::types::null_as_default::deserialize"
29 )]
30 pub permission: String,
31 pub created_at: DateTime,
33 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub token: Option<SensitiveString>,
36}
37
38#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
40#[non_exhaustive]
41pub struct Account {
42 #[serde(
44 default,
45 deserialize_with = "crate::types::null_as_default::deserialize"
46 )]
47 pub id: String,
48 #[serde(
50 default,
51 deserialize_with = "crate::types::null_as_default::deserialize"
52 )]
53 pub name: String,
54 #[serde(
56 default,
57 deserialize_with = "crate::types::null_as_default::deserialize"
58 )]
59 pub slug: String,
60 pub created_at: DateTime,
62 #[serde(
64 default,
65 deserialize_with = "crate::types::null_as_default::deserialize"
66 )]
67 pub url: String,
68 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub user: Option<User>,
71}
72
73#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
75#[non_exhaustive]
76pub struct AccountExport {
77 #[serde(
79 default,
80 deserialize_with = "crate::types::null_as_default::deserialize"
81 )]
82 pub id: String,
83 #[serde(
85 default,
86 deserialize_with = "crate::types::null_as_default::deserialize"
87 )]
88 pub status: String,
89 pub created_at: DateTime,
91 #[serde(default, skip_serializing_if = "Option::is_none")]
93 pub download_url: Option<String>,
94}
95
96#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
98#[non_exhaustive]
99pub struct AccountSettings {
100 #[serde(
102 default,
103 deserialize_with = "crate::types::null_as_default::deserialize"
104 )]
105 pub id: String,
106 #[serde(
108 default,
109 deserialize_with = "crate::types::null_as_default::deserialize"
110 )]
111 pub name: String,
112 #[serde(
114 default,
115 deserialize_with = "crate::types::null_as_default::deserialize"
116 )]
117 pub cards_count: i32,
118 pub created_at: DateTime,
120 #[serde(default, skip_serializing_if = "Option::is_none")]
122 pub auto_postpone_period_in_days: Option<i32>,
123}
124
125#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
127#[non_exhaustive]
128pub struct Activity {
129 #[serde(
131 default,
132 deserialize_with = "crate::types::null_as_default::deserialize"
133 )]
134 pub id: String,
135 #[serde(
137 default,
138 deserialize_with = "crate::types::null_as_default::deserialize"
139 )]
140 pub action: String,
141 pub created_at: DateTime,
143 #[serde(
145 default,
146 deserialize_with = "crate::types::null_as_default::deserialize"
147 )]
148 pub description: String,
149 #[serde(default)]
151 pub particulars: ActivityParticulars,
152 #[serde(
154 default,
155 deserialize_with = "crate::types::null_as_default::deserialize"
156 )]
157 pub url: String,
158 #[serde(
160 default,
161 deserialize_with = "crate::types::null_as_default::deserialize"
162 )]
163 pub eventable_type: String,
164 #[serde(default)]
166 pub eventable: ActivityEventable,
167 #[serde(default)]
169 pub board: Board,
170 #[serde(default)]
172 pub creator: User,
173}
174
175#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
177#[non_exhaustive]
178pub struct ActivityEventable {
179 #[serde(
181 default,
182 deserialize_with = "crate::types::null_as_default::deserialize"
183 )]
184 pub id: String,
185 #[serde(default, skip_serializing_if = "Option::is_none")]
187 pub number: Option<i32>,
188 #[serde(default, skip_serializing_if = "Option::is_none")]
190 pub title: Option<String>,
191 #[serde(default, skip_serializing_if = "Option::is_none")]
193 pub status: Option<String>,
194 #[serde(default, skip_serializing_if = "Option::is_none")]
196 pub description: Option<String>,
197 #[serde(default, skip_serializing_if = "Option::is_none")]
199 pub description_html: Option<String>,
200 #[serde(default, skip_serializing_if = "Option::is_none")]
202 pub image_url: Option<String>,
203 #[serde(default, skip_serializing_if = "Option::is_none")]
205 pub has_attachments: Option<bool>,
206 #[serde(default, skip_serializing_if = "Option::is_none")]
208 pub tags: Option<Vec<String>>,
209 #[serde(default, skip_serializing_if = "Option::is_none")]
211 pub closed: Option<bool>,
212 #[serde(default, skip_serializing_if = "Option::is_none")]
214 pub postponed: Option<bool>,
215 #[serde(default, skip_serializing_if = "Option::is_none")]
217 pub golden: Option<bool>,
218 #[serde(default, skip_serializing_if = "Option::is_none")]
220 pub last_active_at: Option<DateTime>,
221 #[serde(default, skip_serializing_if = "Option::is_none")]
223 pub created_at: Option<DateTime>,
224 #[serde(default, skip_serializing_if = "Option::is_none")]
226 pub updated_at: Option<DateTime>,
227 #[serde(default, skip_serializing_if = "Option::is_none")]
229 pub body: Option<RichTextBody>,
230 #[serde(default, skip_serializing_if = "Option::is_none")]
232 pub creator: Option<User>,
233 #[serde(default, skip_serializing_if = "Option::is_none")]
235 pub card: Option<CardRef>,
236 #[serde(default, skip_serializing_if = "Option::is_none")]
238 pub board: Option<Board>,
239 #[serde(default, skip_serializing_if = "Option::is_none")]
241 pub column: Option<Column>,
242 #[serde(default, skip_serializing_if = "Option::is_none")]
244 pub assignees: Option<Vec<User>>,
245 #[serde(default, skip_serializing_if = "Option::is_none")]
247 pub has_more_assignees: Option<bool>,
248 #[serde(default, skip_serializing_if = "Option::is_none")]
250 pub comments_url: Option<String>,
251 #[serde(default, skip_serializing_if = "Option::is_none")]
253 pub reactions_url: Option<String>,
254 #[serde(default, skip_serializing_if = "Option::is_none")]
256 pub steps: Option<Vec<Step>>,
257 #[serde(
259 default,
260 deserialize_with = "crate::types::null_as_default::deserialize"
261 )]
262 pub url: String,
263}
264
265#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
267#[non_exhaustive]
268pub struct ActivityParticulars {
269 #[serde(default, skip_serializing_if = "Option::is_none")]
271 pub assignee_ids: Option<Vec<String>>,
272 #[serde(default, skip_serializing_if = "Option::is_none")]
274 pub old_board: Option<String>,
275 #[serde(default, skip_serializing_if = "Option::is_none")]
277 pub new_board: Option<String>,
278 #[serde(default, skip_serializing_if = "Option::is_none")]
280 pub old_title: Option<String>,
281 #[serde(default, skip_serializing_if = "Option::is_none")]
283 pub new_title: Option<String>,
284 #[serde(default, skip_serializing_if = "Option::is_none")]
286 pub column: Option<String>,
287}
288
289#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
291pub struct AssignCardRequestContent {
292 #[serde(
294 default,
295 deserialize_with = "crate::types::null_as_default::deserialize"
296 )]
297 pub assignee_id: String,
298}
299
300#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
302#[non_exhaustive]
303pub struct BadRequestErrorResponseContent {
304 #[serde(
306 default,
307 deserialize_with = "crate::types::null_as_default::deserialize"
308 )]
309 pub message: String,
310}
311
312#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
314#[non_exhaustive]
315pub struct Board {
316 #[serde(
318 default,
319 deserialize_with = "crate::types::null_as_default::deserialize"
320 )]
321 pub id: String,
322 #[serde(
324 default,
325 deserialize_with = "crate::types::null_as_default::deserialize"
326 )]
327 pub name: String,
328 #[serde(
330 default,
331 deserialize_with = "crate::types::null_as_default::deserialize"
332 )]
333 pub all_access: bool,
334 pub created_at: DateTime,
336 #[serde(default, skip_serializing_if = "Option::is_none")]
338 pub auto_postpone_period_in_days: Option<i32>,
339 #[serde(default, skip_serializing_if = "Option::is_none")]
341 pub public_description: Option<String>,
342 #[serde(default, skip_serializing_if = "Option::is_none")]
344 pub public_description_html: Option<String>,
345 #[serde(default, skip_serializing_if = "Option::is_none")]
347 pub public_url: Option<String>,
348 #[serde(default, skip_serializing_if = "Option::is_none")]
350 pub user_ids: Option<Vec<String>>,
351 #[serde(
353 default,
354 deserialize_with = "crate::types::null_as_default::deserialize"
355 )]
356 pub url: String,
357 #[serde(default, skip_serializing_if = "Option::is_none")]
359 pub creator: Option<User>,
360}
361
362#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
364#[non_exhaustive]
365pub struct BoardAccessUser {
366 #[serde(
368 default,
369 deserialize_with = "crate::types::null_as_default::deserialize"
370 )]
371 pub id: String,
372 #[serde(
374 default,
375 deserialize_with = "crate::types::null_as_default::deserialize"
376 )]
377 pub name: SensitiveString,
378 #[serde(
380 default,
381 deserialize_with = "crate::types::null_as_default::deserialize"
382 )]
383 pub role: String,
384 #[serde(
386 default,
387 deserialize_with = "crate::types::null_as_default::deserialize"
388 )]
389 pub active: bool,
390 #[serde(
392 default,
393 deserialize_with = "crate::types::null_as_default::deserialize"
394 )]
395 pub email_address: SensitiveString,
396 pub created_at: DateTime,
398 #[serde(
400 default,
401 deserialize_with = "crate::types::null_as_default::deserialize"
402 )]
403 pub url: String,
404 #[serde(default, skip_serializing_if = "Option::is_none")]
406 pub avatar_url: Option<String>,
407 #[serde(
409 default,
410 deserialize_with = "crate::types::null_as_default::deserialize"
411 )]
412 pub has_access: bool,
413 #[serde(default, skip_serializing_if = "Option::is_none")]
415 pub involvement: Option<String>,
416}
417
418#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
420#[non_exhaustive]
421pub struct BoardAccesses {
422 #[serde(
424 default,
425 deserialize_with = "crate::types::null_as_default::deserialize"
426 )]
427 pub board_id: String,
428 #[serde(
430 default,
431 deserialize_with = "crate::types::null_as_default::deserialize"
432 )]
433 pub all_access: bool,
434 #[serde(
436 default,
437 deserialize_with = "crate::types::null_as_default::deserialize"
438 )]
439 pub users: Vec<BoardAccessUser>,
440}
441
442#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
444pub struct BulkReadNotificationsRequestContent {
445 #[serde(default, skip_serializing_if = "Option::is_none")]
447 pub notification_ids: Option<Vec<String>>,
448}
449
450#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
452#[non_exhaustive]
453pub struct Card {
454 #[serde(
456 default,
457 deserialize_with = "crate::types::null_as_default::deserialize"
458 )]
459 pub id: String,
460 #[serde(
462 default,
463 deserialize_with = "crate::types::null_as_default::deserialize"
464 )]
465 pub number: i32,
466 #[serde(
468 default,
469 deserialize_with = "crate::types::null_as_default::deserialize"
470 )]
471 pub title: String,
472 #[serde(
474 default,
475 deserialize_with = "crate::types::null_as_default::deserialize"
476 )]
477 pub status: String,
478 #[serde(default, skip_serializing_if = "Option::is_none")]
480 pub description: Option<String>,
481 #[serde(default, skip_serializing_if = "Option::is_none")]
483 pub description_html: Option<String>,
484 #[serde(default, skip_serializing_if = "Option::is_none")]
486 pub image_url: Option<String>,
487 #[serde(
489 default,
490 deserialize_with = "crate::types::null_as_default::deserialize"
491 )]
492 pub has_attachments: bool,
493 #[serde(default, skip_serializing_if = "Option::is_none")]
495 pub tags: Option<Vec<String>>,
496 #[serde(
498 default,
499 deserialize_with = "crate::types::null_as_default::deserialize"
500 )]
501 pub closed: bool,
502 #[serde(
504 default,
505 deserialize_with = "crate::types::null_as_default::deserialize"
506 )]
507 pub postponed: bool,
508 #[serde(
510 default,
511 deserialize_with = "crate::types::null_as_default::deserialize"
512 )]
513 pub golden: bool,
514 #[serde(default, skip_serializing_if = "Option::is_none")]
516 pub last_active_at: Option<DateTime>,
517 pub created_at: DateTime,
519 #[serde(
521 default,
522 deserialize_with = "crate::types::null_as_default::deserialize"
523 )]
524 pub url: String,
525 #[serde(default, skip_serializing_if = "Option::is_none")]
527 pub board: Option<Board>,
528 #[serde(default, skip_serializing_if = "Option::is_none")]
530 pub column: Option<Column>,
531 #[serde(default, skip_serializing_if = "Option::is_none")]
533 pub creator: Option<User>,
534 #[serde(default, skip_serializing_if = "Option::is_none")]
536 pub assignees: Option<Vec<User>>,
537 #[serde(default, skip_serializing_if = "Option::is_none")]
539 pub has_more_assignees: Option<bool>,
540 #[serde(default, skip_serializing_if = "Option::is_none")]
542 pub comments_url: Option<String>,
543 #[serde(default, skip_serializing_if = "Option::is_none")]
545 pub reactions_url: Option<String>,
546 #[serde(default, skip_serializing_if = "Option::is_none")]
548 pub steps: Option<Vec<Step>>,
549}
550
551#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
553#[non_exhaustive]
554pub struct CardRef {
555 #[serde(
557 default,
558 deserialize_with = "crate::types::null_as_default::deserialize"
559 )]
560 pub id: String,
561 #[serde(
563 default,
564 deserialize_with = "crate::types::null_as_default::deserialize"
565 )]
566 pub url: String,
567}
568
569#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
571#[non_exhaustive]
572pub struct Color {
573 #[serde(
575 default,
576 deserialize_with = "crate::types::null_as_default::deserialize"
577 )]
578 pub name: String,
579 #[serde(
581 default,
582 deserialize_with = "crate::types::null_as_default::deserialize"
583 )]
584 pub value: String,
585}
586
587#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
589#[non_exhaustive]
590pub struct Column {
591 #[serde(
593 default,
594 deserialize_with = "crate::types::null_as_default::deserialize"
595 )]
596 pub id: String,
597 #[serde(
599 default,
600 deserialize_with = "crate::types::null_as_default::deserialize"
601 )]
602 pub name: String,
603 #[serde(default, skip_serializing_if = "Option::is_none")]
605 pub color: Option<Color>,
606 pub created_at: DateTime,
608 #[serde(default, skip_serializing_if = "Option::is_none")]
610 pub cards_url: Option<String>,
611}
612
613#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
615#[non_exhaustive]
616pub struct Comment {
617 #[serde(
619 default,
620 deserialize_with = "crate::types::null_as_default::deserialize"
621 )]
622 pub id: String,
623 pub created_at: DateTime,
625 pub updated_at: DateTime,
627 #[serde(default)]
629 pub body: RichTextBody,
630 #[serde(default)]
632 pub creator: User,
633 #[serde(default, skip_serializing_if = "Option::is_none")]
635 pub card: Option<CardRef>,
636 #[serde(default, skip_serializing_if = "Option::is_none")]
638 pub reactions_url: Option<String>,
639 #[serde(
641 default,
642 deserialize_with = "crate::types::null_as_default::deserialize"
643 )]
644 pub url: String,
645}
646
647#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
649pub struct CompleteJoinRequestContent {
650 #[serde(
652 default,
653 deserialize_with = "crate::types::null_as_default::deserialize"
654 )]
655 pub name: SensitiveString,
656}
657
658#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
660pub struct CompleteSignupRequestContent {
661 #[serde(
663 default,
664 deserialize_with = "crate::types::null_as_default::deserialize"
665 )]
666 pub full_name: SensitiveString,
667}
668
669#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
671pub struct CreateAccessTokenRequestContent {
672 #[serde(
674 default,
675 deserialize_with = "crate::types::null_as_default::deserialize"
676 )]
677 pub description: String,
678 #[serde(
680 default,
681 deserialize_with = "crate::types::null_as_default::deserialize"
682 )]
683 pub permission: String,
684}
685
686pub type CreateAccessTokenResponseContent = AccessToken;
688
689pub type CreateAccountExportResponseContent = AccountExport;
691
692#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
694pub struct CreateBoardRequestContent {
695 #[serde(
697 default,
698 deserialize_with = "crate::types::null_as_default::deserialize"
699 )]
700 pub name: String,
701 #[serde(default, skip_serializing_if = "Option::is_none")]
703 pub all_access: Option<bool>,
704 #[serde(default, skip_serializing_if = "Option::is_none")]
706 pub auto_postpone_period_in_days: Option<i32>,
707 #[serde(default, skip_serializing_if = "Option::is_none")]
709 pub public_description: Option<String>,
710}
711
712pub type CreateBoardResponseContent = Board;
714
715#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
717pub struct CreateCardReactionRequestContent {
718 #[serde(
720 default,
721 deserialize_with = "crate::types::null_as_default::deserialize"
722 )]
723 pub content: String,
724}
725
726pub type CreateCardReactionResponseContent = Reaction;
728
729#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
731pub struct CreateCardRequestContent {
732 #[serde(
734 default,
735 deserialize_with = "crate::types::null_as_default::deserialize"
736 )]
737 pub title: String,
738 #[serde(
740 default,
741 deserialize_with = "crate::types::null_as_default::deserialize"
742 )]
743 pub board_id: String,
744 #[serde(default, skip_serializing_if = "Option::is_none")]
746 pub description: Option<String>,
747 #[serde(default, skip_serializing_if = "Option::is_none")]
749 pub image: Option<String>,
750 #[serde(default, skip_serializing_if = "Option::is_none")]
752 pub created_at: Option<DateTime>,
753 #[serde(default, skip_serializing_if = "Option::is_none")]
755 pub last_active_at: Option<DateTime>,
756}
757
758pub type CreateCardResponseContent = Card;
760
761#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
763pub struct CreateColumnRequestContent {
764 #[serde(
766 default,
767 deserialize_with = "crate::types::null_as_default::deserialize"
768 )]
769 pub name: String,
770 #[serde(default, skip_serializing_if = "Option::is_none")]
772 pub color: Option<String>,
773}
774
775pub type CreateColumnResponseContent = Column;
777
778#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
780pub struct CreateCommentReactionRequestContent {
781 #[serde(
783 default,
784 deserialize_with = "crate::types::null_as_default::deserialize"
785 )]
786 pub content: String,
787}
788
789pub type CreateCommentReactionResponseContent = Reaction;
791
792#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
794pub struct CreateCommentRequestContent {
795 #[serde(
797 default,
798 deserialize_with = "crate::types::null_as_default::deserialize"
799 )]
800 pub body: String,
801 #[serde(default, skip_serializing_if = "Option::is_none")]
803 pub created_at: Option<DateTime>,
804}
805
806pub type CreateCommentResponseContent = Comment;
808
809#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
811pub struct CreateDirectUploadRequestContent {
812 #[serde(
814 default,
815 deserialize_with = "crate::types::null_as_default::deserialize"
816 )]
817 pub filename: String,
818 #[serde(
820 default,
821 deserialize_with = "crate::types::null_as_default::deserialize"
822 )]
823 pub content_type: String,
824 #[serde(
826 default,
827 deserialize_with = "crate::types::null_as_default::deserialize"
828 )]
829 pub byte_size: i64,
830 #[serde(
832 default,
833 deserialize_with = "crate::types::null_as_default::deserialize"
834 )]
835 pub checksum: String,
836}
837
838pub type CreateDirectUploadResponseContent = DirectUpload;
840
841#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
843pub struct CreatePushSubscriptionRequestContent {
844 #[serde(
846 default,
847 deserialize_with = "crate::types::null_as_default::deserialize"
848 )]
849 pub endpoint: String,
850 #[serde(
852 default,
853 deserialize_with = "crate::types::null_as_default::deserialize"
854 )]
855 pub p256dh_key: String,
856 #[serde(
858 default,
859 deserialize_with = "crate::types::null_as_default::deserialize"
860 )]
861 pub auth_key: String,
862}
863
864#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
866pub struct CreateSessionRequestContent {
867 #[serde(
869 default,
870 deserialize_with = "crate::types::null_as_default::deserialize"
871 )]
872 pub email_address: SensitiveString,
873}
874
875pub type CreateSessionResponseContent = PendingAuthentication;
877
878#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
880pub struct CreateStepRequestContent {
881 #[serde(
883 default,
884 deserialize_with = "crate::types::null_as_default::deserialize"
885 )]
886 pub content: String,
887 #[serde(default, skip_serializing_if = "Option::is_none")]
889 pub completed: Option<bool>,
890}
891
892pub type CreateStepResponseContent = Step;
894
895pub type CreateUserDataExportResponseContent = DataExport;
897
898#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
900pub struct CreateWebhookRequestContent {
901 #[serde(
903 default,
904 deserialize_with = "crate::types::null_as_default::deserialize"
905 )]
906 pub name: String,
907 #[serde(
909 default,
910 deserialize_with = "crate::types::null_as_default::deserialize"
911 )]
912 pub url: String,
913 #[serde(default, skip_serializing_if = "Option::is_none")]
915 pub subscribed_actions: Option<Vec<String>>,
916}
917
918pub type CreateWebhookResponseContent = Webhook;
920
921#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
923#[non_exhaustive]
924pub struct DataExport {
925 #[serde(
927 default,
928 deserialize_with = "crate::types::null_as_default::deserialize"
929 )]
930 pub id: String,
931 #[serde(
933 default,
934 deserialize_with = "crate::types::null_as_default::deserialize"
935 )]
936 pub status: String,
937 pub created_at: DateTime,
939 #[serde(default, skip_serializing_if = "Option::is_none")]
941 pub download_url: Option<String>,
942}
943
944#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
946#[non_exhaustive]
947pub struct DirectUpload {
948 #[serde(
950 default,
951 deserialize_with = "crate::types::null_as_default::deserialize"
952 )]
953 pub id: String,
954 #[serde(
956 default,
957 deserialize_with = "crate::types::null_as_default::deserialize"
958 )]
959 pub key: String,
960 #[serde(
962 default,
963 deserialize_with = "crate::types::null_as_default::deserialize"
964 )]
965 pub filename: String,
966 #[serde(
968 default,
969 deserialize_with = "crate::types::null_as_default::deserialize"
970 )]
971 pub content_type: String,
972 #[serde(
974 default,
975 deserialize_with = "crate::types::null_as_default::deserialize"
976 )]
977 pub byte_size: i64,
978 #[serde(
980 default,
981 deserialize_with = "crate::types::null_as_default::deserialize"
982 )]
983 pub checksum: String,
984 #[serde(default)]
986 pub direct_upload: DirectUploadMetadata,
987}
988
989#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
991#[non_exhaustive]
992pub struct DirectUploadHeaders {
993 #[serde(rename = "Content_Type")]
995 #[serde(
996 default,
997 deserialize_with = "crate::types::null_as_default::deserialize"
998 )]
999 pub content_type: String,
1000 #[serde(rename = "Content_MD5")]
1002 #[serde(default, skip_serializing_if = "Option::is_none")]
1003 pub content_md5: Option<String>,
1004}
1005
1006#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1008#[non_exhaustive]
1009pub struct DirectUploadMetadata {
1010 #[serde(
1012 default,
1013 deserialize_with = "crate::types::null_as_default::deserialize"
1014 )]
1015 pub url: String,
1016 #[serde(default)]
1018 pub headers: DirectUploadHeaders,
1019}
1020
1021#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1023#[non_exhaustive]
1024pub struct ForbiddenErrorResponseContent {
1025 #[serde(
1027 default,
1028 deserialize_with = "crate::types::null_as_default::deserialize"
1029 )]
1030 pub message: String,
1031}
1032
1033pub type GetAccountExportResponseContent = AccountExport;
1035
1036pub type GetAccountSettingsResponseContent = AccountSettings;
1038
1039pub type GetBoardResponseContent = Board;
1041
1042pub type GetCardResponseContent = Card;
1044
1045pub type GetColumnResponseContent = Column;
1047
1048pub type GetCommentResponseContent = Comment;
1050
1051pub type GetJoinCodeResponseContent = JoinCode;
1053
1054pub type GetMyIdentityResponseContent = Identity;
1056
1057pub type GetNotificationSettingsResponseContent = NotificationSettings;
1059
1060pub type GetNotificationTrayResponseContent = Vec<Notification>;
1062
1063pub type GetStepResponseContent = Step;
1065
1066pub type GetUserDataExportResponseContent = DataExport;
1068
1069pub type GetUserResponseContent = User;
1071
1072pub type GetWebhookResponseContent = Webhook;
1074
1075#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1077#[non_exhaustive]
1078pub struct Identity {
1079 #[serde(
1081 default,
1082 deserialize_with = "crate::types::null_as_default::deserialize"
1083 )]
1084 pub id: String,
1085 #[serde(default, skip_serializing_if = "Option::is_none")]
1087 pub name: Option<SensitiveString>,
1088 #[serde(default, skip_serializing_if = "Option::is_none")]
1090 pub email_address: Option<SensitiveString>,
1091 #[serde(
1093 default,
1094 deserialize_with = "crate::types::null_as_default::deserialize"
1095 )]
1096 pub accounts: Vec<Account>,
1097}
1098
1099#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1101#[non_exhaustive]
1102pub struct InternalServerErrorResponseContent {
1103 #[serde(
1105 default,
1106 deserialize_with = "crate::types::null_as_default::deserialize"
1107 )]
1108 pub message: String,
1109}
1110
1111#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1113#[non_exhaustive]
1114pub struct JoinCode {
1115 #[serde(
1117 default,
1118 deserialize_with = "crate::types::null_as_default::deserialize"
1119 )]
1120 pub code: String,
1121 #[serde(
1123 default,
1124 deserialize_with = "crate::types::null_as_default::deserialize"
1125 )]
1126 pub url: String,
1127 #[serde(default, skip_serializing_if = "Option::is_none")]
1129 pub usage_count: Option<i32>,
1130 #[serde(default, skip_serializing_if = "Option::is_none")]
1132 pub usage_limit: Option<i32>,
1133 #[serde(default, skip_serializing_if = "Option::is_none")]
1135 pub active: Option<bool>,
1136}
1137
1138pub type ListAccessTokensResponseContent = Vec<AccessToken>;
1140
1141pub type ListActivitiesResponseContent = Vec<Activity>;
1143
1144pub type ListBoardAccessesResponseContent = BoardAccesses;
1146
1147pub type ListBoardsResponseContent = Vec<Board>;
1149
1150pub type ListCardReactionsResponseContent = Vec<Reaction>;
1152
1153pub type ListCardsResponseContent = Vec<Card>;
1155
1156pub type ListClosedCardsResponseContent = Vec<Card>;
1158
1159pub type ListColumnCardsResponseContent = Vec<Card>;
1161
1162pub type ListColumnsResponseContent = Vec<Column>;
1164
1165pub type ListCommentReactionsResponseContent = Vec<Reaction>;
1167
1168pub type ListCommentsResponseContent = Vec<Comment>;
1170
1171pub type ListNotificationsResponseContent = Vec<Notification>;
1173
1174pub type ListPinsResponseContent = Vec<Card>;
1176
1177pub type ListPostponedCardsResponseContent = Vec<Card>;
1179
1180pub type ListStepsResponseContent = Vec<Step>;
1182
1183pub type ListStreamCardsResponseContent = Vec<Card>;
1185
1186pub type ListTagsResponseContent = Vec<Tag>;
1188
1189pub type ListUsersResponseContent = Vec<User>;
1191
1192pub type ListWebhookDeliveriesResponseContent = Vec<WebhookDelivery>;
1194
1195pub type ListWebhooksResponseContent = Vec<Webhook>;
1197
1198#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1200pub struct MoveCardRequestContent {
1201 #[serde(
1203 default,
1204 deserialize_with = "crate::types::null_as_default::deserialize"
1205 )]
1206 pub board_id: String,
1207}
1208
1209pub type MoveCardResponseContent = Card;
1211
1212#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1214#[non_exhaustive]
1215pub struct NotFoundErrorResponseContent {
1216 #[serde(
1218 default,
1219 deserialize_with = "crate::types::null_as_default::deserialize"
1220 )]
1221 pub message: String,
1222}
1223
1224#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1226#[non_exhaustive]
1227pub struct Notification {
1228 #[serde(
1230 default,
1231 deserialize_with = "crate::types::null_as_default::deserialize"
1232 )]
1233 pub id: String,
1234 #[serde(
1236 default,
1237 deserialize_with = "crate::types::null_as_default::deserialize"
1238 )]
1239 pub unread_count: i32,
1240 #[serde(
1242 default,
1243 deserialize_with = "crate::types::null_as_default::deserialize"
1244 )]
1245 pub read: bool,
1246 #[serde(default, skip_serializing_if = "Option::is_none")]
1248 pub read_at: Option<DateTime>,
1249 pub created_at: DateTime,
1251 #[serde(
1253 default,
1254 deserialize_with = "crate::types::null_as_default::deserialize"
1255 )]
1256 pub source_type: String,
1257 #[serde(default, skip_serializing_if = "Option::is_none")]
1259 pub title: Option<String>,
1260 #[serde(default, skip_serializing_if = "Option::is_none")]
1262 pub body: Option<String>,
1263 #[serde(default)]
1265 pub creator: User,
1266 #[serde(default, skip_serializing_if = "Option::is_none")]
1268 pub card: Option<NotificationCard>,
1269 #[serde(
1271 default,
1272 deserialize_with = "crate::types::null_as_default::deserialize"
1273 )]
1274 pub url: String,
1275}
1276
1277#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1279#[non_exhaustive]
1280pub struct NotificationCard {
1281 #[serde(
1283 default,
1284 deserialize_with = "crate::types::null_as_default::deserialize"
1285 )]
1286 pub id: String,
1287 #[serde(
1289 default,
1290 deserialize_with = "crate::types::null_as_default::deserialize"
1291 )]
1292 pub number: i32,
1293 #[serde(
1295 default,
1296 deserialize_with = "crate::types::null_as_default::deserialize"
1297 )]
1298 pub title: String,
1299 #[serde(
1301 default,
1302 deserialize_with = "crate::types::null_as_default::deserialize"
1303 )]
1304 pub status: String,
1305 #[serde(default, skip_serializing_if = "Option::is_none")]
1307 pub board_name: Option<String>,
1308 #[serde(
1310 default,
1311 deserialize_with = "crate::types::null_as_default::deserialize"
1312 )]
1313 pub closed: bool,
1314 #[serde(
1316 default,
1317 deserialize_with = "crate::types::null_as_default::deserialize"
1318 )]
1319 pub postponed: bool,
1320 #[serde(
1322 default,
1323 deserialize_with = "crate::types::null_as_default::deserialize"
1324 )]
1325 pub url: String,
1326 #[serde(default, skip_serializing_if = "Option::is_none")]
1328 pub column: Option<Column>,
1329}
1330
1331#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1333#[non_exhaustive]
1334pub struct NotificationSettings {
1335 #[serde(
1337 default,
1338 deserialize_with = "crate::types::null_as_default::deserialize"
1339 )]
1340 pub bundle_email_frequency: String,
1341}
1342
1343#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1345#[non_exhaustive]
1346pub struct PendingAuthentication {
1347 #[serde(
1349 default,
1350 deserialize_with = "crate::types::null_as_default::deserialize"
1351 )]
1352 pub pending_authentication_token: SensitiveString,
1353}
1354
1355#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1357#[non_exhaustive]
1358pub struct RateLimitErrorResponseContent {
1359 #[serde(
1361 default,
1362 deserialize_with = "crate::types::null_as_default::deserialize"
1363 )]
1364 pub message: String,
1365}
1366
1367#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1369#[non_exhaustive]
1370pub struct Reaction {
1371 #[serde(
1373 default,
1374 deserialize_with = "crate::types::null_as_default::deserialize"
1375 )]
1376 pub id: String,
1377 #[serde(
1379 default,
1380 deserialize_with = "crate::types::null_as_default::deserialize"
1381 )]
1382 pub content: String,
1383 #[serde(default)]
1385 pub reacter: User,
1386 #[serde(
1388 default,
1389 deserialize_with = "crate::types::null_as_default::deserialize"
1390 )]
1391 pub url: String,
1392}
1393
1394#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1396pub struct RedeemMagicLinkRequestContent {
1397 #[serde(
1399 default,
1400 deserialize_with = "crate::types::null_as_default::deserialize"
1401 )]
1402 pub code: SensitiveString,
1403}
1404
1405pub type RedeemMagicLinkResponseContent = SessionAuthorization;
1407
1408#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1410pub struct RegisterDeviceRequestContent {
1411 #[serde(
1413 default,
1414 deserialize_with = "crate::types::null_as_default::deserialize"
1415 )]
1416 pub token: String,
1417 #[serde(
1419 default,
1420 deserialize_with = "crate::types::null_as_default::deserialize"
1421 )]
1422 pub platform: String,
1423 #[serde(default, skip_serializing_if = "Option::is_none")]
1425 pub name: Option<String>,
1426}
1427
1428#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1430pub struct RequestEmailAddressChangeRequestContent {
1431 #[serde(
1433 default,
1434 deserialize_with = "crate::types::null_as_default::deserialize"
1435 )]
1436 pub email_address: SensitiveString,
1437}
1438
1439#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1441#[non_exhaustive]
1442pub struct RichTextBody {
1443 #[serde(
1445 default,
1446 deserialize_with = "crate::types::null_as_default::deserialize"
1447 )]
1448 pub plain_text: String,
1449 #[serde(
1451 default,
1452 deserialize_with = "crate::types::null_as_default::deserialize"
1453 )]
1454 pub html: String,
1455}
1456
1457pub type SearchCardsResponseContent = Vec<Card>;
1459
1460#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1462#[non_exhaustive]
1463pub struct SessionAuthorization {
1464 #[serde(
1466 default,
1467 deserialize_with = "crate::types::null_as_default::deserialize"
1468 )]
1469 pub session_token: SensitiveString,
1470 #[serde(
1472 default,
1473 deserialize_with = "crate::types::null_as_default::deserialize"
1474 )]
1475 pub requires_signup_completion: bool,
1476}
1477
1478#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1480#[non_exhaustive]
1481pub struct Step {
1482 #[serde(
1484 default,
1485 deserialize_with = "crate::types::null_as_default::deserialize"
1486 )]
1487 pub id: String,
1488 #[serde(
1490 default,
1491 deserialize_with = "crate::types::null_as_default::deserialize"
1492 )]
1493 pub content: String,
1494 #[serde(
1496 default,
1497 deserialize_with = "crate::types::null_as_default::deserialize"
1498 )]
1499 pub completed: bool,
1500}
1501
1502pub type StringMap = BTreeMap<String, String>;
1504
1505#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1507#[non_exhaustive]
1508pub struct Tag {
1509 #[serde(
1511 default,
1512 deserialize_with = "crate::types::null_as_default::deserialize"
1513 )]
1514 pub id: String,
1515 #[serde(
1517 default,
1518 deserialize_with = "crate::types::null_as_default::deserialize"
1519 )]
1520 pub title: String,
1521 pub created_at: DateTime,
1523 #[serde(default, skip_serializing_if = "Option::is_none")]
1525 pub url: Option<String>,
1526}
1527
1528#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1530pub struct TagCardRequestContent {
1531 #[serde(
1533 default,
1534 deserialize_with = "crate::types::null_as_default::deserialize"
1535 )]
1536 pub tag_title: String,
1537}
1538
1539#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1541pub struct TriageCardRequestContent {
1542 #[serde(
1544 default,
1545 deserialize_with = "crate::types::null_as_default::deserialize"
1546 )]
1547 pub column_id: String,
1548}
1549
1550#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1552#[non_exhaustive]
1553pub struct UnauthorizedErrorResponseContent {
1554 #[serde(
1556 default,
1557 deserialize_with = "crate::types::null_as_default::deserialize"
1558 )]
1559 pub message: String,
1560}
1561
1562#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1564pub struct UpdateAccountEntropyRequestContent {
1565 #[serde(
1567 default,
1568 deserialize_with = "crate::types::null_as_default::deserialize"
1569 )]
1570 pub auto_postpone_period_in_days: i32,
1571}
1572
1573pub type UpdateAccountEntropyResponseContent = AccountSettings;
1575
1576#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1578pub struct UpdateAccountSettingsRequestContent {
1579 #[serde(
1581 default,
1582 deserialize_with = "crate::types::null_as_default::deserialize"
1583 )]
1584 pub name: String,
1585}
1586
1587#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1589pub struct UpdateBoardEntropyRequestContent {
1590 #[serde(
1592 default,
1593 deserialize_with = "crate::types::null_as_default::deserialize"
1594 )]
1595 pub auto_postpone_period_in_days: i32,
1596}
1597
1598pub type UpdateBoardEntropyResponseContent = Board;
1600
1601#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1603pub struct UpdateBoardInvolvementRequestContent {
1604 #[serde(
1606 default,
1607 deserialize_with = "crate::types::null_as_default::deserialize"
1608 )]
1609 pub involvement: String,
1610}
1611
1612#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1614pub struct UpdateBoardRequestContent {
1615 #[serde(default, skip_serializing_if = "Option::is_none")]
1617 pub name: Option<String>,
1618 #[serde(default, skip_serializing_if = "Option::is_none")]
1620 pub all_access: Option<bool>,
1621 #[serde(default, skip_serializing_if = "Option::is_none")]
1623 pub auto_postpone_period_in_days: Option<i32>,
1624 #[serde(default, skip_serializing_if = "Option::is_none")]
1626 pub public_description: Option<String>,
1627 #[serde(default, skip_serializing_if = "Option::is_none")]
1629 pub user_ids: Option<Vec<String>>,
1630}
1631
1632pub type UpdateBoardResponseContent = Board;
1634
1635#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1637pub struct UpdateCardRequestContent {
1638 #[serde(default, skip_serializing_if = "Option::is_none")]
1640 pub title: Option<String>,
1641 #[serde(default, skip_serializing_if = "Option::is_none")]
1643 pub description: Option<String>,
1644 #[serde(default, skip_serializing_if = "Option::is_none")]
1646 pub image: Option<String>,
1647 #[serde(default, skip_serializing_if = "Option::is_none")]
1649 pub created_at: Option<DateTime>,
1650}
1651
1652pub type UpdateCardResponseContent = Card;
1654
1655#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1657pub struct UpdateColumnRequestContent {
1658 #[serde(default, skip_serializing_if = "Option::is_none")]
1660 pub name: Option<String>,
1661 #[serde(default, skip_serializing_if = "Option::is_none")]
1663 pub color: Option<String>,
1664}
1665
1666pub type UpdateColumnResponseContent = Column;
1668
1669#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1671pub struct UpdateCommentRequestContent {
1672 #[serde(
1674 default,
1675 deserialize_with = "crate::types::null_as_default::deserialize"
1676 )]
1677 pub body: String,
1678}
1679
1680pub type UpdateCommentResponseContent = Comment;
1682
1683#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1685pub struct UpdateJoinCodeRequestContent {
1686 #[serde(
1688 default,
1689 deserialize_with = "crate::types::null_as_default::deserialize"
1690 )]
1691 pub usage_limit: i32,
1692}
1693
1694#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1696pub struct UpdateMyTimezoneRequestContent {
1697 #[serde(
1699 default,
1700 deserialize_with = "crate::types::null_as_default::deserialize"
1701 )]
1702 pub timezone_name: String,
1703}
1704
1705#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1707pub struct UpdateNotificationSettingsRequestContent {
1708 #[serde(
1710 default,
1711 deserialize_with = "crate::types::null_as_default::deserialize"
1712 )]
1713 pub bundle_email_frequency: String,
1714}
1715
1716#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1718pub struct UpdateStepRequestContent {
1719 #[serde(default, skip_serializing_if = "Option::is_none")]
1721 pub content: Option<String>,
1722 #[serde(default, skip_serializing_if = "Option::is_none")]
1724 pub completed: Option<bool>,
1725}
1726
1727pub type UpdateStepResponseContent = Step;
1729
1730#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1732pub struct UpdateUserRequestContent {
1733 #[serde(
1735 default,
1736 deserialize_with = "crate::types::null_as_default::deserialize"
1737 )]
1738 pub name: String,
1739}
1740
1741pub type UpdateUserResponseContent = User;
1743
1744#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1746pub struct UpdateUserRoleRequestContent {
1747 #[serde(
1749 default,
1750 deserialize_with = "crate::types::null_as_default::deserialize"
1751 )]
1752 pub role: String,
1753}
1754
1755#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1757pub struct UpdateWebhookRequestContent {
1758 #[serde(default, skip_serializing_if = "Option::is_none")]
1760 pub name: Option<String>,
1761 #[serde(default, skip_serializing_if = "Option::is_none")]
1763 pub subscribed_actions: Option<Vec<String>>,
1764}
1765
1766pub type UpdateWebhookResponseContent = Webhook;
1768
1769#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1771#[non_exhaustive]
1772pub struct User {
1773 #[serde(
1775 default,
1776 deserialize_with = "crate::types::null_as_default::deserialize"
1777 )]
1778 pub id: String,
1779 #[serde(
1781 default,
1782 deserialize_with = "crate::types::null_as_default::deserialize"
1783 )]
1784 pub name: SensitiveString,
1785 #[serde(
1787 default,
1788 deserialize_with = "crate::types::null_as_default::deserialize"
1789 )]
1790 pub role: String,
1791 #[serde(
1793 default,
1794 deserialize_with = "crate::types::null_as_default::deserialize"
1795 )]
1796 pub active: bool,
1797 #[serde(
1799 default,
1800 deserialize_with = "crate::types::null_as_default::deserialize"
1801 )]
1802 pub email_address: SensitiveString,
1803 pub created_at: DateTime,
1805 #[serde(
1807 default,
1808 deserialize_with = "crate::types::null_as_default::deserialize"
1809 )]
1810 pub url: String,
1811 #[serde(default, skip_serializing_if = "Option::is_none")]
1813 pub avatar_url: Option<String>,
1814}
1815
1816#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1818#[non_exhaustive]
1819pub struct ValidationErrorResponseContent {
1820 #[serde(
1822 default,
1823 deserialize_with = "crate::types::null_as_default::deserialize"
1824 )]
1825 pub message: String,
1826 #[serde(default, skip_serializing_if = "Option::is_none")]
1828 pub errors: Option<Vec<String>>,
1829}
1830
1831#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1833#[non_exhaustive]
1834pub struct Webhook {
1835 #[serde(
1837 default,
1838 deserialize_with = "crate::types::null_as_default::deserialize"
1839 )]
1840 pub id: String,
1841 #[serde(
1843 default,
1844 deserialize_with = "crate::types::null_as_default::deserialize"
1845 )]
1846 pub name: String,
1847 #[serde(
1849 default,
1850 deserialize_with = "crate::types::null_as_default::deserialize"
1851 )]
1852 pub payload_url: String,
1853 #[serde(
1855 default,
1856 deserialize_with = "crate::types::null_as_default::deserialize"
1857 )]
1858 pub url: String,
1859 #[serde(
1861 default,
1862 deserialize_with = "crate::types::null_as_default::deserialize"
1863 )]
1864 pub subscribed_actions: Vec<String>,
1865 #[serde(
1867 default,
1868 deserialize_with = "crate::types::null_as_default::deserialize"
1869 )]
1870 pub signing_secret: SensitiveString,
1871 #[serde(
1873 default,
1874 deserialize_with = "crate::types::null_as_default::deserialize"
1875 )]
1876 pub active: bool,
1877 pub created_at: DateTime,
1879 #[serde(default, skip_serializing_if = "Option::is_none")]
1881 pub updated_at: Option<DateTime>,
1882 #[serde(default, skip_serializing_if = "Option::is_none")]
1884 pub board: Option<Board>,
1885}
1886
1887#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1889#[non_exhaustive]
1890pub struct WebhookDelivery {
1891 #[serde(
1893 default,
1894 deserialize_with = "crate::types::null_as_default::deserialize"
1895 )]
1896 pub id: String,
1897 #[serde(
1899 default,
1900 deserialize_with = "crate::types::null_as_default::deserialize"
1901 )]
1902 pub state: String,
1903 pub created_at: DateTime,
1905 pub updated_at: DateTime,
1907 #[serde(default, skip_serializing_if = "Option::is_none")]
1909 pub request: Option<WebhookDeliveryRequest>,
1910 #[serde(default, skip_serializing_if = "Option::is_none")]
1912 pub response: Option<WebhookDeliveryResponse>,
1913 #[serde(default, skip_serializing_if = "Option::is_none")]
1915 pub event: Option<WebhookDeliveryEvent>,
1916}
1917
1918#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1920#[non_exhaustive]
1921pub struct WebhookDeliveryEvent {
1922 #[serde(
1924 default,
1925 deserialize_with = "crate::types::null_as_default::deserialize"
1926 )]
1927 pub id: String,
1928 #[serde(
1930 default,
1931 deserialize_with = "crate::types::null_as_default::deserialize"
1932 )]
1933 pub action: String,
1934 pub created_at: DateTime,
1936 #[serde(default, skip_serializing_if = "Option::is_none")]
1938 pub creator: Option<WebhookDeliveryEventCreator>,
1939 #[serde(default, skip_serializing_if = "Option::is_none")]
1941 pub eventable: Option<WebhookDeliveryEventEventable>,
1942}
1943
1944#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1946#[non_exhaustive]
1947pub struct WebhookDeliveryEventCreator {
1948 #[serde(
1950 default,
1951 deserialize_with = "crate::types::null_as_default::deserialize"
1952 )]
1953 pub id: String,
1954 #[serde(
1956 default,
1957 deserialize_with = "crate::types::null_as_default::deserialize"
1958 )]
1959 pub name: SensitiveString,
1960}
1961
1962#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1964#[non_exhaustive]
1965pub struct WebhookDeliveryEventEventable {
1966 #[serde(
1968 default,
1969 deserialize_with = "crate::types::null_as_default::deserialize"
1970 )]
1971 pub r#type: String,
1972 #[serde(
1974 default,
1975 deserialize_with = "crate::types::null_as_default::deserialize"
1976 )]
1977 pub id: String,
1978 #[serde(
1980 default,
1981 deserialize_with = "crate::types::null_as_default::deserialize"
1982 )]
1983 pub url: String,
1984}
1985
1986#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1988#[non_exhaustive]
1989pub struct WebhookDeliveryRequest {
1990 #[serde(default, skip_serializing_if = "Option::is_none")]
1992 pub headers: Option<StringMap>,
1993}
1994
1995#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1997#[non_exhaustive]
1998pub struct WebhookDeliveryResponse {
1999 #[serde(default, skip_serializing_if = "Option::is_none")]
2001 pub code: Option<i32>,
2002 #[serde(default, skip_serializing_if = "Option::is_none")]
2004 pub error: Option<String>,
2005}