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(default, skip_serializing_if = "Option::is_none")]
740 pub board_id: Option<String>,
741 #[serde(default, skip_serializing_if = "Option::is_none")]
743 pub column_id: Option<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 assignee_ids: Option<Vec<String>>,
750 #[serde(default, skip_serializing_if = "Option::is_none")]
752 pub tag_names: Option<Vec<String>>,
753 #[serde(default, skip_serializing_if = "Option::is_none")]
755 pub image: Option<String>,
756 #[serde(default, skip_serializing_if = "Option::is_none")]
758 pub created_at: Option<DateTime>,
759 #[serde(default, skip_serializing_if = "Option::is_none")]
761 pub last_active_at: Option<DateTime>,
762}
763
764pub type CreateCardResponseContent = Card;
766
767#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
769pub struct CreateColumnRequestContent {
770 #[serde(
772 default,
773 deserialize_with = "crate::types::null_as_default::deserialize"
774 )]
775 pub name: String,
776 #[serde(default, skip_serializing_if = "Option::is_none")]
778 pub color: Option<String>,
779}
780
781pub type CreateColumnResponseContent = Column;
783
784#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
786pub struct CreateCommentReactionRequestContent {
787 #[serde(
789 default,
790 deserialize_with = "crate::types::null_as_default::deserialize"
791 )]
792 pub content: String,
793}
794
795pub type CreateCommentReactionResponseContent = Reaction;
797
798#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
800pub struct CreateCommentRequestContent {
801 #[serde(
803 default,
804 deserialize_with = "crate::types::null_as_default::deserialize"
805 )]
806 pub body: String,
807 #[serde(default, skip_serializing_if = "Option::is_none")]
809 pub created_at: Option<DateTime>,
810}
811
812pub type CreateCommentResponseContent = Comment;
814
815#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
817pub struct CreateDirectUploadRequestContent {
818 #[serde(
820 default,
821 deserialize_with = "crate::types::null_as_default::deserialize"
822 )]
823 pub filename: String,
824 #[serde(
826 default,
827 deserialize_with = "crate::types::null_as_default::deserialize"
828 )]
829 pub content_type: String,
830 #[serde(
832 default,
833 deserialize_with = "crate::types::null_as_default::deserialize"
834 )]
835 pub byte_size: i64,
836 #[serde(
838 default,
839 deserialize_with = "crate::types::null_as_default::deserialize"
840 )]
841 pub checksum: String,
842}
843
844pub type CreateDirectUploadResponseContent = DirectUpload;
846
847#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
849pub struct CreatePushSubscriptionRequestContent {
850 #[serde(
852 default,
853 deserialize_with = "crate::types::null_as_default::deserialize"
854 )]
855 pub endpoint: String,
856 #[serde(
858 default,
859 deserialize_with = "crate::types::null_as_default::deserialize"
860 )]
861 pub p256dh_key: String,
862 #[serde(
864 default,
865 deserialize_with = "crate::types::null_as_default::deserialize"
866 )]
867 pub auth_key: String,
868}
869
870#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
872pub struct CreateSessionRequestContent {
873 #[serde(
875 default,
876 deserialize_with = "crate::types::null_as_default::deserialize"
877 )]
878 pub email_address: SensitiveString,
879}
880
881pub type CreateSessionResponseContent = PendingAuthentication;
883
884#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
886pub struct CreateStepRequestContent {
887 #[serde(
889 default,
890 deserialize_with = "crate::types::null_as_default::deserialize"
891 )]
892 pub content: String,
893 #[serde(default, skip_serializing_if = "Option::is_none")]
895 pub completed: Option<bool>,
896}
897
898pub type CreateStepResponseContent = Step;
900
901pub type CreateUserDataExportResponseContent = DataExport;
903
904#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
906pub struct CreateWebhookRequestContent {
907 #[serde(
909 default,
910 deserialize_with = "crate::types::null_as_default::deserialize"
911 )]
912 pub name: String,
913 #[serde(
915 default,
916 deserialize_with = "crate::types::null_as_default::deserialize"
917 )]
918 pub url: String,
919 #[serde(default, skip_serializing_if = "Option::is_none")]
921 pub subscribed_actions: Option<Vec<String>>,
922}
923
924pub type CreateWebhookResponseContent = Webhook;
926
927#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
929#[non_exhaustive]
930pub struct DataExport {
931 #[serde(
933 default,
934 deserialize_with = "crate::types::null_as_default::deserialize"
935 )]
936 pub id: String,
937 #[serde(
939 default,
940 deserialize_with = "crate::types::null_as_default::deserialize"
941 )]
942 pub status: String,
943 pub created_at: DateTime,
945 #[serde(default, skip_serializing_if = "Option::is_none")]
947 pub download_url: Option<String>,
948}
949
950#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
952#[non_exhaustive]
953pub struct DirectUpload {
954 #[serde(
956 default,
957 deserialize_with = "crate::types::null_as_default::deserialize"
958 )]
959 pub id: String,
960 #[serde(
962 default,
963 deserialize_with = "crate::types::null_as_default::deserialize"
964 )]
965 pub key: String,
966 #[serde(
968 default,
969 deserialize_with = "crate::types::null_as_default::deserialize"
970 )]
971 pub filename: String,
972 #[serde(
974 default,
975 deserialize_with = "crate::types::null_as_default::deserialize"
976 )]
977 pub content_type: String,
978 #[serde(
980 default,
981 deserialize_with = "crate::types::null_as_default::deserialize"
982 )]
983 pub byte_size: i64,
984 #[serde(
986 default,
987 deserialize_with = "crate::types::null_as_default::deserialize"
988 )]
989 pub checksum: String,
990 #[serde(default)]
992 pub direct_upload: DirectUploadMetadata,
993}
994
995#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
997#[non_exhaustive]
998pub struct DirectUploadHeaders {
999 #[serde(rename = "Content_Type")]
1001 #[serde(
1002 default,
1003 deserialize_with = "crate::types::null_as_default::deserialize"
1004 )]
1005 pub content_type: String,
1006 #[serde(rename = "Content_MD5")]
1008 #[serde(default, skip_serializing_if = "Option::is_none")]
1009 pub content_md5: Option<String>,
1010}
1011
1012#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1014#[non_exhaustive]
1015pub struct DirectUploadMetadata {
1016 #[serde(
1018 default,
1019 deserialize_with = "crate::types::null_as_default::deserialize"
1020 )]
1021 pub url: String,
1022 #[serde(default)]
1024 pub headers: DirectUploadHeaders,
1025}
1026
1027#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1029#[non_exhaustive]
1030pub struct ForbiddenErrorResponseContent {
1031 #[serde(
1033 default,
1034 deserialize_with = "crate::types::null_as_default::deserialize"
1035 )]
1036 pub message: String,
1037}
1038
1039pub type GetAccountExportResponseContent = AccountExport;
1041
1042pub type GetAccountSettingsResponseContent = AccountSettings;
1044
1045pub type GetBoardResponseContent = Board;
1047
1048pub type GetCardResponseContent = Card;
1050
1051pub type GetColumnResponseContent = Column;
1053
1054pub type GetCommentResponseContent = Comment;
1056
1057pub type GetJoinCodeResponseContent = JoinCode;
1059
1060pub type GetMyIdentityResponseContent = Identity;
1062
1063pub type GetNotificationSettingsResponseContent = NotificationSettings;
1065
1066pub type GetNotificationTrayResponseContent = Vec<Notification>;
1068
1069pub type GetStepResponseContent = Step;
1071
1072pub type GetUserDataExportResponseContent = DataExport;
1074
1075pub type GetUserResponseContent = User;
1077
1078pub type GetWebhookResponseContent = Webhook;
1080
1081#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1083#[non_exhaustive]
1084pub struct Identity {
1085 #[serde(
1087 default,
1088 deserialize_with = "crate::types::null_as_default::deserialize"
1089 )]
1090 pub id: String,
1091 #[serde(default, skip_serializing_if = "Option::is_none")]
1093 pub name: Option<SensitiveString>,
1094 #[serde(default, skip_serializing_if = "Option::is_none")]
1096 pub email_address: Option<SensitiveString>,
1097 #[serde(
1099 default,
1100 deserialize_with = "crate::types::null_as_default::deserialize"
1101 )]
1102 pub accounts: Vec<Account>,
1103}
1104
1105#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1107#[non_exhaustive]
1108pub struct InternalServerErrorResponseContent {
1109 #[serde(
1111 default,
1112 deserialize_with = "crate::types::null_as_default::deserialize"
1113 )]
1114 pub message: String,
1115}
1116
1117#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1119#[non_exhaustive]
1120pub struct JoinCode {
1121 #[serde(
1123 default,
1124 deserialize_with = "crate::types::null_as_default::deserialize"
1125 )]
1126 pub code: String,
1127 #[serde(
1129 default,
1130 deserialize_with = "crate::types::null_as_default::deserialize"
1131 )]
1132 pub url: String,
1133 #[serde(default, skip_serializing_if = "Option::is_none")]
1135 pub usage_count: Option<i32>,
1136 #[serde(default, skip_serializing_if = "Option::is_none")]
1138 pub usage_limit: Option<i32>,
1139 #[serde(default, skip_serializing_if = "Option::is_none")]
1141 pub active: Option<bool>,
1142}
1143
1144pub type ListAccessTokensResponseContent = Vec<AccessToken>;
1146
1147pub type ListActivitiesResponseContent = Vec<Activity>;
1149
1150pub type ListBoardAccessesResponseContent = BoardAccesses;
1152
1153pub type ListBoardsResponseContent = Vec<Board>;
1155
1156pub type ListCardReactionsResponseContent = Vec<Reaction>;
1158
1159pub type ListCardsResponseContent = Vec<Card>;
1161
1162pub type ListClosedCardsResponseContent = Vec<Card>;
1164
1165pub type ListColumnCardsResponseContent = Vec<Card>;
1167
1168pub type ListColumnsResponseContent = Vec<Column>;
1170
1171pub type ListCommentReactionsResponseContent = Vec<Reaction>;
1173
1174pub type ListCommentsResponseContent = Vec<Comment>;
1176
1177pub type ListNotificationsResponseContent = Vec<Notification>;
1179
1180pub type ListPinsResponseContent = Vec<Card>;
1182
1183pub type ListPostponedCardsResponseContent = Vec<Card>;
1185
1186pub type ListStepsResponseContent = Vec<Step>;
1188
1189pub type ListStreamCardsResponseContent = Vec<Card>;
1191
1192pub type ListTagsResponseContent = Vec<Tag>;
1194
1195pub type ListUsersResponseContent = Vec<User>;
1197
1198pub type ListWebhookDeliveriesResponseContent = Vec<WebhookDelivery>;
1200
1201pub type ListWebhooksResponseContent = Vec<Webhook>;
1203
1204#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1206pub struct MoveCardRequestContent {
1207 #[serde(
1209 default,
1210 deserialize_with = "crate::types::null_as_default::deserialize"
1211 )]
1212 pub board_id: String,
1213 #[serde(default, skip_serializing_if = "Option::is_none")]
1215 pub column_id: Option<String>,
1216}
1217
1218pub type MoveCardResponseContent = Card;
1220
1221#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1223#[non_exhaustive]
1224pub struct NotFoundErrorResponseContent {
1225 #[serde(
1227 default,
1228 deserialize_with = "crate::types::null_as_default::deserialize"
1229 )]
1230 pub message: String,
1231}
1232
1233#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1235#[non_exhaustive]
1236pub struct Notification {
1237 #[serde(
1239 default,
1240 deserialize_with = "crate::types::null_as_default::deserialize"
1241 )]
1242 pub id: String,
1243 #[serde(
1245 default,
1246 deserialize_with = "crate::types::null_as_default::deserialize"
1247 )]
1248 pub unread_count: i32,
1249 #[serde(
1251 default,
1252 deserialize_with = "crate::types::null_as_default::deserialize"
1253 )]
1254 pub read: bool,
1255 #[serde(default, skip_serializing_if = "Option::is_none")]
1257 pub read_at: Option<DateTime>,
1258 pub created_at: DateTime,
1260 #[serde(
1262 default,
1263 deserialize_with = "crate::types::null_as_default::deserialize"
1264 )]
1265 pub source_type: String,
1266 #[serde(default, skip_serializing_if = "Option::is_none")]
1268 pub title: Option<String>,
1269 #[serde(default, skip_serializing_if = "Option::is_none")]
1271 pub body: Option<String>,
1272 #[serde(default)]
1274 pub creator: User,
1275 #[serde(default, skip_serializing_if = "Option::is_none")]
1277 pub card: Option<NotificationCard>,
1278 #[serde(
1280 default,
1281 deserialize_with = "crate::types::null_as_default::deserialize"
1282 )]
1283 pub url: String,
1284}
1285
1286#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1288#[non_exhaustive]
1289pub struct NotificationCard {
1290 #[serde(
1292 default,
1293 deserialize_with = "crate::types::null_as_default::deserialize"
1294 )]
1295 pub id: String,
1296 #[serde(
1298 default,
1299 deserialize_with = "crate::types::null_as_default::deserialize"
1300 )]
1301 pub number: i32,
1302 #[serde(
1304 default,
1305 deserialize_with = "crate::types::null_as_default::deserialize"
1306 )]
1307 pub title: String,
1308 #[serde(
1310 default,
1311 deserialize_with = "crate::types::null_as_default::deserialize"
1312 )]
1313 pub status: String,
1314 #[serde(default, skip_serializing_if = "Option::is_none")]
1316 pub board_name: Option<String>,
1317 #[serde(
1319 default,
1320 deserialize_with = "crate::types::null_as_default::deserialize"
1321 )]
1322 pub closed: bool,
1323 #[serde(
1325 default,
1326 deserialize_with = "crate::types::null_as_default::deserialize"
1327 )]
1328 pub postponed: bool,
1329 #[serde(
1331 default,
1332 deserialize_with = "crate::types::null_as_default::deserialize"
1333 )]
1334 pub url: String,
1335 #[serde(default, skip_serializing_if = "Option::is_none")]
1337 pub column: Option<Column>,
1338}
1339
1340#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1342#[non_exhaustive]
1343pub struct NotificationSettings {
1344 #[serde(
1346 default,
1347 deserialize_with = "crate::types::null_as_default::deserialize"
1348 )]
1349 pub bundle_email_frequency: String,
1350}
1351
1352#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1354#[non_exhaustive]
1355pub struct PendingAuthentication {
1356 #[serde(
1358 default,
1359 deserialize_with = "crate::types::null_as_default::deserialize"
1360 )]
1361 pub pending_authentication_token: SensitiveString,
1362}
1363
1364#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1366#[non_exhaustive]
1367pub struct RateLimitErrorResponseContent {
1368 #[serde(
1370 default,
1371 deserialize_with = "crate::types::null_as_default::deserialize"
1372 )]
1373 pub message: String,
1374}
1375
1376#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1378#[non_exhaustive]
1379pub struct Reaction {
1380 #[serde(
1382 default,
1383 deserialize_with = "crate::types::null_as_default::deserialize"
1384 )]
1385 pub id: String,
1386 #[serde(
1388 default,
1389 deserialize_with = "crate::types::null_as_default::deserialize"
1390 )]
1391 pub content: String,
1392 #[serde(default)]
1394 pub reacter: User,
1395 #[serde(
1397 default,
1398 deserialize_with = "crate::types::null_as_default::deserialize"
1399 )]
1400 pub url: String,
1401}
1402
1403#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1405pub struct RedeemMagicLinkRequestContent {
1406 #[serde(
1408 default,
1409 deserialize_with = "crate::types::null_as_default::deserialize"
1410 )]
1411 pub token: SensitiveString,
1412}
1413
1414pub type RedeemMagicLinkResponseContent = SessionAuthorization;
1416
1417#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1419pub struct RegisterDeviceRequestContent {
1420 #[serde(
1422 default,
1423 deserialize_with = "crate::types::null_as_default::deserialize"
1424 )]
1425 pub token: String,
1426 #[serde(
1428 default,
1429 deserialize_with = "crate::types::null_as_default::deserialize"
1430 )]
1431 pub platform: String,
1432 #[serde(default, skip_serializing_if = "Option::is_none")]
1434 pub name: Option<String>,
1435}
1436
1437#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1439pub struct RequestEmailAddressChangeRequestContent {
1440 #[serde(
1442 default,
1443 deserialize_with = "crate::types::null_as_default::deserialize"
1444 )]
1445 pub email_address: SensitiveString,
1446}
1447
1448#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1450#[non_exhaustive]
1451pub struct RichTextBody {
1452 #[serde(
1454 default,
1455 deserialize_with = "crate::types::null_as_default::deserialize"
1456 )]
1457 pub plain_text: String,
1458 #[serde(
1460 default,
1461 deserialize_with = "crate::types::null_as_default::deserialize"
1462 )]
1463 pub html: String,
1464}
1465
1466pub type SearchCardsResponseContent = Vec<Card>;
1468
1469#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1471#[non_exhaustive]
1472pub struct SessionAuthorization {
1473 #[serde(
1475 default,
1476 deserialize_with = "crate::types::null_as_default::deserialize"
1477 )]
1478 pub session_token: SensitiveString,
1479 #[serde(
1481 default,
1482 deserialize_with = "crate::types::null_as_default::deserialize"
1483 )]
1484 pub requires_signup_completion: bool,
1485}
1486
1487#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1489#[non_exhaustive]
1490pub struct Step {
1491 #[serde(
1493 default,
1494 deserialize_with = "crate::types::null_as_default::deserialize"
1495 )]
1496 pub id: String,
1497 #[serde(
1499 default,
1500 deserialize_with = "crate::types::null_as_default::deserialize"
1501 )]
1502 pub content: String,
1503 #[serde(
1505 default,
1506 deserialize_with = "crate::types::null_as_default::deserialize"
1507 )]
1508 pub completed: bool,
1509}
1510
1511pub type StringMap = BTreeMap<String, String>;
1513
1514#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1516#[non_exhaustive]
1517pub struct Tag {
1518 #[serde(
1520 default,
1521 deserialize_with = "crate::types::null_as_default::deserialize"
1522 )]
1523 pub id: String,
1524 #[serde(
1526 default,
1527 deserialize_with = "crate::types::null_as_default::deserialize"
1528 )]
1529 pub title: String,
1530 pub created_at: DateTime,
1532 #[serde(default, skip_serializing_if = "Option::is_none")]
1534 pub url: Option<String>,
1535}
1536
1537#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1539pub struct TagCardRequestContent {
1540 #[serde(
1542 default,
1543 deserialize_with = "crate::types::null_as_default::deserialize"
1544 )]
1545 pub tag_title: String,
1546}
1547
1548#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1550pub struct TriageCardRequestContent {
1551 #[serde(default, skip_serializing_if = "Option::is_none")]
1553 pub column_id: Option<String>,
1554}
1555
1556#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1558#[non_exhaustive]
1559pub struct UnauthorizedErrorResponseContent {
1560 #[serde(
1562 default,
1563 deserialize_with = "crate::types::null_as_default::deserialize"
1564 )]
1565 pub message: String,
1566}
1567
1568#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1570pub struct UpdateAccountEntropyRequestContent {
1571 #[serde(default, skip_serializing_if = "Option::is_none")]
1573 pub auto_postpone_period_in_days: Option<i32>,
1574}
1575
1576pub type UpdateAccountEntropyResponseContent = AccountSettings;
1578
1579#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1581pub struct UpdateAccountSettingsRequestContent {
1582 #[serde(default, skip_serializing_if = "Option::is_none")]
1584 pub name: Option<String>,
1585}
1586
1587#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1589pub struct UpdateBoardEntropyRequestContent {
1590 #[serde(default, skip_serializing_if = "Option::is_none")]
1592 pub auto_postpone_period_in_days: Option<i32>,
1593}
1594
1595pub type UpdateBoardEntropyResponseContent = Board;
1597
1598#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1600pub struct UpdateBoardInvolvementRequestContent {
1601 #[serde(default, skip_serializing_if = "Option::is_none")]
1603 pub involvement: Option<String>,
1604}
1605
1606#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1608pub struct UpdateBoardRequestContent {
1609 #[serde(default, skip_serializing_if = "Option::is_none")]
1611 pub name: Option<String>,
1612 #[serde(default, skip_serializing_if = "Option::is_none")]
1614 pub all_access: Option<bool>,
1615 #[serde(default, skip_serializing_if = "Option::is_none")]
1617 pub auto_postpone_period_in_days: Option<i32>,
1618 #[serde(default, skip_serializing_if = "Option::is_none")]
1620 pub public_description: Option<String>,
1621 #[serde(default, skip_serializing_if = "Option::is_none")]
1623 pub user_ids: Option<Vec<String>>,
1624}
1625
1626pub type UpdateBoardResponseContent = Board;
1628
1629#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1631pub struct UpdateCardRequestContent {
1632 #[serde(default, skip_serializing_if = "Option::is_none")]
1634 pub title: Option<String>,
1635 #[serde(default, skip_serializing_if = "Option::is_none")]
1637 pub description: Option<String>,
1638 #[serde(default, skip_serializing_if = "Option::is_none")]
1640 pub column_id: Option<String>,
1641 #[serde(default, skip_serializing_if = "Option::is_none")]
1643 pub image: Option<String>,
1644 #[serde(default, skip_serializing_if = "Option::is_none")]
1646 pub created_at: Option<DateTime>,
1647}
1648
1649pub type UpdateCardResponseContent = Card;
1651
1652#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1654pub struct UpdateColumnRequestContent {
1655 #[serde(default, skip_serializing_if = "Option::is_none")]
1657 pub name: Option<String>,
1658 #[serde(default, skip_serializing_if = "Option::is_none")]
1660 pub color: Option<String>,
1661}
1662
1663pub type UpdateColumnResponseContent = Column;
1665
1666#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1668pub struct UpdateCommentRequestContent {
1669 #[serde(
1671 default,
1672 deserialize_with = "crate::types::null_as_default::deserialize"
1673 )]
1674 pub body: String,
1675}
1676
1677pub type UpdateCommentResponseContent = Comment;
1679
1680#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1682pub struct UpdateJoinCodeRequestContent {
1683 #[serde(default, skip_serializing_if = "Option::is_none")]
1685 pub usage_limit: Option<i32>,
1686}
1687
1688#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1690pub struct UpdateMyTimezoneRequestContent {
1691 #[serde(
1693 default,
1694 deserialize_with = "crate::types::null_as_default::deserialize"
1695 )]
1696 pub timezone_name: String,
1697}
1698
1699#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1701pub struct UpdateNotificationSettingsRequestContent {
1702 #[serde(default, skip_serializing_if = "Option::is_none")]
1704 pub bundle_email_frequency: Option<String>,
1705}
1706
1707#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1709pub struct UpdateStepRequestContent {
1710 #[serde(default, skip_serializing_if = "Option::is_none")]
1712 pub content: Option<String>,
1713 #[serde(default, skip_serializing_if = "Option::is_none")]
1715 pub completed: Option<bool>,
1716}
1717
1718pub type UpdateStepResponseContent = Step;
1720
1721#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1723pub struct UpdateUserRequestContent {
1724 #[serde(default, skip_serializing_if = "Option::is_none")]
1726 pub name: Option<String>,
1727}
1728
1729pub type UpdateUserResponseContent = User;
1731
1732#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1734pub struct UpdateUserRoleRequestContent {
1735 #[serde(
1737 default,
1738 deserialize_with = "crate::types::null_as_default::deserialize"
1739 )]
1740 pub role: String,
1741}
1742
1743#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1745pub struct UpdateWebhookRequestContent {
1746 #[serde(default, skip_serializing_if = "Option::is_none")]
1748 pub name: Option<String>,
1749 #[serde(default, skip_serializing_if = "Option::is_none")]
1751 pub url: Option<String>,
1752 #[serde(default, skip_serializing_if = "Option::is_none")]
1754 pub subscribed_actions: Option<Vec<String>>,
1755}
1756
1757pub type UpdateWebhookResponseContent = Webhook;
1759
1760#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1762#[non_exhaustive]
1763pub struct User {
1764 #[serde(
1766 default,
1767 deserialize_with = "crate::types::null_as_default::deserialize"
1768 )]
1769 pub id: String,
1770 #[serde(
1772 default,
1773 deserialize_with = "crate::types::null_as_default::deserialize"
1774 )]
1775 pub name: SensitiveString,
1776 #[serde(
1778 default,
1779 deserialize_with = "crate::types::null_as_default::deserialize"
1780 )]
1781 pub role: String,
1782 #[serde(
1784 default,
1785 deserialize_with = "crate::types::null_as_default::deserialize"
1786 )]
1787 pub active: bool,
1788 #[serde(
1790 default,
1791 deserialize_with = "crate::types::null_as_default::deserialize"
1792 )]
1793 pub email_address: SensitiveString,
1794 pub created_at: DateTime,
1796 #[serde(
1798 default,
1799 deserialize_with = "crate::types::null_as_default::deserialize"
1800 )]
1801 pub url: String,
1802 #[serde(default, skip_serializing_if = "Option::is_none")]
1804 pub avatar_url: Option<String>,
1805}
1806
1807#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1809#[non_exhaustive]
1810pub struct ValidationErrorResponseContent {
1811 #[serde(
1813 default,
1814 deserialize_with = "crate::types::null_as_default::deserialize"
1815 )]
1816 pub message: String,
1817 #[serde(default, skip_serializing_if = "Option::is_none")]
1819 pub errors: Option<Vec<String>>,
1820}
1821
1822#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1824#[non_exhaustive]
1825pub struct Webhook {
1826 #[serde(
1828 default,
1829 deserialize_with = "crate::types::null_as_default::deserialize"
1830 )]
1831 pub id: String,
1832 #[serde(
1834 default,
1835 deserialize_with = "crate::types::null_as_default::deserialize"
1836 )]
1837 pub name: String,
1838 #[serde(
1840 default,
1841 deserialize_with = "crate::types::null_as_default::deserialize"
1842 )]
1843 pub payload_url: String,
1844 #[serde(
1846 default,
1847 deserialize_with = "crate::types::null_as_default::deserialize"
1848 )]
1849 pub url: String,
1850 #[serde(
1852 default,
1853 deserialize_with = "crate::types::null_as_default::deserialize"
1854 )]
1855 pub subscribed_actions: Vec<String>,
1856 #[serde(
1858 default,
1859 deserialize_with = "crate::types::null_as_default::deserialize"
1860 )]
1861 pub signing_secret: SensitiveString,
1862 #[serde(
1864 default,
1865 deserialize_with = "crate::types::null_as_default::deserialize"
1866 )]
1867 pub active: bool,
1868 pub created_at: DateTime,
1870 #[serde(default, skip_serializing_if = "Option::is_none")]
1872 pub updated_at: Option<DateTime>,
1873 #[serde(default, skip_serializing_if = "Option::is_none")]
1875 pub board: Option<Board>,
1876}
1877
1878#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1880#[non_exhaustive]
1881pub struct WebhookDelivery {
1882 #[serde(
1884 default,
1885 deserialize_with = "crate::types::null_as_default::deserialize"
1886 )]
1887 pub id: String,
1888 #[serde(
1890 default,
1891 deserialize_with = "crate::types::null_as_default::deserialize"
1892 )]
1893 pub state: String,
1894 pub created_at: DateTime,
1896 pub updated_at: DateTime,
1898 #[serde(default, skip_serializing_if = "Option::is_none")]
1900 pub request: Option<WebhookDeliveryRequest>,
1901 #[serde(default, skip_serializing_if = "Option::is_none")]
1903 pub response: Option<WebhookDeliveryResponse>,
1904 #[serde(default, skip_serializing_if = "Option::is_none")]
1906 pub event: Option<WebhookDeliveryEvent>,
1907}
1908
1909#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1911#[non_exhaustive]
1912pub struct WebhookDeliveryEvent {
1913 #[serde(
1915 default,
1916 deserialize_with = "crate::types::null_as_default::deserialize"
1917 )]
1918 pub id: String,
1919 #[serde(
1921 default,
1922 deserialize_with = "crate::types::null_as_default::deserialize"
1923 )]
1924 pub action: String,
1925 pub created_at: DateTime,
1927 #[serde(default, skip_serializing_if = "Option::is_none")]
1929 pub creator: Option<WebhookDeliveryEventCreator>,
1930 #[serde(default, skip_serializing_if = "Option::is_none")]
1932 pub eventable: Option<WebhookDeliveryEventEventable>,
1933}
1934
1935#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1937#[non_exhaustive]
1938pub struct WebhookDeliveryEventCreator {
1939 #[serde(
1941 default,
1942 deserialize_with = "crate::types::null_as_default::deserialize"
1943 )]
1944 pub id: String,
1945 #[serde(
1947 default,
1948 deserialize_with = "crate::types::null_as_default::deserialize"
1949 )]
1950 pub name: SensitiveString,
1951}
1952
1953#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1955#[non_exhaustive]
1956pub struct WebhookDeliveryEventEventable {
1957 #[serde(
1959 default,
1960 deserialize_with = "crate::types::null_as_default::deserialize"
1961 )]
1962 pub r#type: String,
1963 #[serde(
1965 default,
1966 deserialize_with = "crate::types::null_as_default::deserialize"
1967 )]
1968 pub id: String,
1969 #[serde(
1971 default,
1972 deserialize_with = "crate::types::null_as_default::deserialize"
1973 )]
1974 pub url: String,
1975}
1976
1977#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1979#[non_exhaustive]
1980pub struct WebhookDeliveryRequest {
1981 #[serde(default, skip_serializing_if = "Option::is_none")]
1983 pub headers: Option<StringMap>,
1984}
1985
1986#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1988#[non_exhaustive]
1989pub struct WebhookDeliveryResponse {
1990 #[serde(default, skip_serializing_if = "Option::is_none")]
1992 pub code: Option<i32>,
1993 #[serde(default, skip_serializing_if = "Option::is_none")]
1995 pub error: Option<String>,
1996}