1#![allow(missing_docs, unreachable_pub, clippy::all, clippy::pedantic)]
4
5use std::collections::BTreeMap;
6
7use serde::{Deserialize, Serialize};
8
9use crate::types::{Date, DateTime, SensitiveString};
10
11#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
13#[non_exhaustive]
14pub struct Account {
15 #[serde(
16 default,
17 deserialize_with = "crate::types::null_as_default::deserialize"
18 )]
19 pub id: i64,
20 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub name: Option<String>,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub domain: Option<String>,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub status: Option<String>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub purpose: Option<String>,
28 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub trial: Option<bool>,
30 #[serde(
31 default,
32 with = "crate::types::optional_date",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub trial_ends_on: Option<Date>,
36 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub burner: Option<bool>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub readonly: Option<bool>,
40}
41
42#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
43pub struct AddPostingsToBoxGroupRequestContent {
44 #[serde(
45 default,
46 deserialize_with = "crate::types::null_as_default::deserialize"
47 )]
48 pub posting_ids: Vec<i64>,
49 #[serde(
50 default,
51 deserialize_with = "crate::types::null_as_default::deserialize"
52 )]
53 pub box_id: i64,
54 #[serde(
55 default,
56 deserialize_with = "crate::types::null_as_default::deserialize"
57 )]
58 pub box_group_id: i64,
59}
60
61#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
63#[non_exhaustive]
64pub struct Addressed {
65 #[serde(default, skip_serializing_if = "Option::is_none")]
66 pub directly: Option<Vec<Contact>>,
67 #[serde(default, skip_serializing_if = "Option::is_none")]
68 pub copied: Option<Vec<Contact>>,
69 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub blindcopied: Option<Vec<Contact>>,
71}
72
73#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
75#[non_exhaustive]
76pub struct AddressedSender {
77 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub directly: Option<Vec<Contact>>,
79}
80
81#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
83#[non_exhaustive]
84pub struct AdvancedSearchFilters {
85 #[serde(default, skip_serializing_if = "Option::is_none")]
86 pub refine_in: Option<Vec<SearchFilterItem>>,
87 #[serde(default, skip_serializing_if = "Option::is_none")]
88 pub refine_dates: Option<Vec<SearchFilterItem>>,
89 #[serde(default, skip_serializing_if = "Option::is_none")]
90 pub refine_labels: Option<Vec<SearchFilterItem>>,
91 #[serde(default, skip_serializing_if = "Option::is_none")]
92 pub refine_attachments: Option<Vec<SearchFilterItem>>,
93}
94
95pub type AdvancedSearchResponseContent = AdvancedSearchResult;
96
97#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
98#[non_exhaustive]
99pub struct AdvancedSearchResult {
100 #[serde(
101 default,
102 deserialize_with = "crate::types::null_as_default::deserialize"
103 )]
104 pub matches: Vec<SearchMatch>,
105}
106
107#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
109#[non_exhaustive]
110pub struct AttachedEntry {
111 #[serde(
112 default,
113 deserialize_with = "crate::types::null_as_default::deserialize"
114 )]
115 pub id: i64,
116 #[serde(default, skip_serializing_if = "Option::is_none")]
117 pub kind: Option<String>,
118 #[serde(default, skip_serializing_if = "Option::is_none")]
119 pub title: Option<String>,
120 #[serde(default, skip_serializing_if = "Option::is_none")]
121 pub app_url: Option<String>,
122}
123
124#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
126#[non_exhaustive]
127pub struct Attendance {
128 #[serde(
129 default,
130 deserialize_with = "crate::types::null_as_default::deserialize"
131 )]
132 pub id: i64,
133 #[serde(default, skip_serializing_if = "Option::is_none")]
134 pub email_address: Option<String>,
135 #[serde(default, skip_serializing_if = "Option::is_none")]
136 pub status: Option<String>,
137 #[serde(default, skip_serializing_if = "Option::is_none")]
138 pub name: Option<String>,
139}
140
141#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
142#[non_exhaustive]
143pub struct BadRequestErrorResponseContent {
144 #[serde(
145 default,
146 deserialize_with = "crate::types::null_as_default::deserialize"
147 )]
148 pub message: String,
149}
150
151#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
153#[non_exhaustive]
154pub struct Mailbox {
155 #[serde(
156 default,
157 deserialize_with = "crate::types::null_as_default::deserialize"
158 )]
159 pub id: i64,
160 #[serde(
161 default,
162 deserialize_with = "crate::types::null_as_default::deserialize"
163 )]
164 pub kind: String,
165 #[serde(
166 default,
167 deserialize_with = "crate::types::null_as_default::deserialize"
168 )]
169 pub name: String,
170 #[serde(default, skip_serializing_if = "Option::is_none")]
171 pub app_url: Option<String>,
172 #[serde(default, skip_serializing_if = "Option::is_none")]
173 pub url: Option<String>,
174 #[serde(default, skip_serializing_if = "Option::is_none")]
175 pub signed_stream_name: Option<String>,
176 #[serde(default, skip_serializing_if = "Option::is_none")]
177 pub posting_changes_url: Option<String>,
178 #[serde(default, skip_serializing_if = "Option::is_none")]
179 pub updates_channels: Option<Vec<UpdatesChannel>>,
180}
181
182#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
184#[non_exhaustive]
185pub struct BoxGroup {
186 #[serde(
187 default,
188 deserialize_with = "crate::types::null_as_default::deserialize"
189 )]
190 pub id: i64,
191}
192
193#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
195#[non_exhaustive]
196pub struct BoxGroupWithPostings {
197 #[serde(
198 default,
199 deserialize_with = "crate::types::null_as_default::deserialize"
200 )]
201 pub id: i64,
202 #[serde(default, skip_serializing_if = "Option::is_none")]
203 pub box_id: Option<i64>,
204 #[serde(default, skip_serializing_if = "Option::is_none")]
205 pub postings: Option<Vec<Posting>>,
206}
207
208#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
210#[non_exhaustive]
211pub struct BoxGroupsResponse {
212 #[serde(default, skip_serializing_if = "Option::is_none")]
213 pub box_groups: Option<Vec<BoxGroup>>,
214}
215
216#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
220#[non_exhaustive]
221pub struct BoxShowResponse {
222 #[serde(
223 default,
224 deserialize_with = "crate::types::null_as_default::deserialize"
225 )]
226 pub id: i64,
227 #[serde(
228 default,
229 deserialize_with = "crate::types::null_as_default::deserialize"
230 )]
231 pub kind: String,
232 #[serde(
233 default,
234 deserialize_with = "crate::types::null_as_default::deserialize"
235 )]
236 pub name: String,
237 #[serde(default, skip_serializing_if = "Option::is_none")]
238 pub app_url: Option<String>,
239 #[serde(default, skip_serializing_if = "Option::is_none")]
240 pub url: Option<String>,
241 #[serde(default, skip_serializing_if = "Option::is_none")]
242 pub signed_stream_name: Option<String>,
243 #[serde(default, skip_serializing_if = "Option::is_none")]
244 pub posting_changes_url: Option<String>,
245 #[serde(default, skip_serializing_if = "Option::is_none")]
246 pub updates_channels: Option<Vec<UpdatesChannel>>,
247 #[serde(default, skip_serializing_if = "Option::is_none")]
248 pub next_history_url: Option<String>,
249 #[serde(default, skip_serializing_if = "Option::is_none")]
250 pub next_incremental_sync_url: Option<String>,
251 #[serde(default, skip_serializing_if = "Option::is_none")]
252 pub postings: Option<Vec<Posting>>,
253}
254
255#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
257#[non_exhaustive]
258pub struct BubbleUpSchedule {
259 #[serde(default, skip_serializing_if = "Option::is_none")]
261 pub bubble_up_at: Option<DateTime>,
262 #[serde(default, skip_serializing_if = "Option::is_none")]
263 pub surprise_me: Option<bool>,
264}
265
266#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
267#[non_exhaustive]
268pub struct BulkReplyDelivery {
269 #[serde(
270 default,
271 deserialize_with = "crate::types::null_as_default::deserialize"
272 )]
273 pub id: i64,
274 #[serde(
275 default,
276 deserialize_with = "crate::types::null_as_default::deserialize"
277 )]
278 pub entries_count: i32,
279 #[serde(
281 default,
282 deserialize_with = "crate::types::null_as_default::deserialize"
283 )]
284 pub delayed: bool,
285 #[serde(default, skip_serializing_if = "Option::is_none")]
287 pub undo_send_url: Option<String>,
288}
289
290#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
292#[non_exhaustive]
293pub struct BulkReplyDraft {
294 #[serde(
296 default,
297 deserialize_with = "crate::types::null_as_default::deserialize"
298 )]
299 pub content: String,
300 #[serde(
301 default,
302 deserialize_with = "crate::types::null_as_default::deserialize"
303 )]
304 pub entries: Vec<BulkReplyEntry>,
305}
306
307#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
309#[non_exhaustive]
310pub struct BulkReplyEntry {
311 #[serde(
312 default,
313 deserialize_with = "crate::types::null_as_default::deserialize"
314 )]
315 pub id: i64,
316 #[serde(
317 default,
318 deserialize_with = "crate::types::null_as_default::deserialize"
319 )]
320 pub topic_id: i64,
321 #[serde(
322 default,
323 deserialize_with = "crate::types::null_as_default::deserialize"
324 )]
325 pub topic_name: String,
326 #[serde(default)]
327 pub addressed: Addressed,
328}
329
330#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
331pub struct BulkReplyMessagePayload {
332 #[serde(
333 default,
334 deserialize_with = "crate::types::null_as_default::deserialize"
335 )]
336 pub content: String,
337}
338
339#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
341pub struct BulkReplyRequestContent {
342 #[serde(
343 default,
344 deserialize_with = "crate::types::null_as_default::deserialize"
345 )]
346 pub entry_ids: Vec<i64>,
347 #[serde(default)]
348 pub message: BulkReplyMessagePayload,
349}
350
351#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
352pub struct BulkUpdateClearancesRequestContent {
353 #[serde(
354 default,
355 deserialize_with = "crate::types::null_as_default::deserialize"
356 )]
357 pub ids: String,
358 #[serde(
359 default,
360 deserialize_with = "crate::types::null_as_default::deserialize"
361 )]
362 pub status: String,
363 #[serde(default, skip_serializing_if = "Option::is_none")]
364 pub spam: Option<bool>,
365}
366
367pub type BulkUpdateClearancesResponseContent = ClearanceListResponse;
368
369#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
371#[non_exhaustive]
372pub struct Calendar {
373 #[serde(
374 default,
375 deserialize_with = "crate::types::null_as_default::deserialize"
376 )]
377 pub id: i64,
378 #[serde(default, skip_serializing_if = "Option::is_none")]
379 pub name: Option<String>,
380 #[serde(default, skip_serializing_if = "Option::is_none")]
381 pub kind: Option<String>,
382 #[serde(default, skip_serializing_if = "Option::is_none")]
384 pub created_at: Option<DateTime>,
385 #[serde(default, skip_serializing_if = "Option::is_none")]
387 pub updated_at: Option<DateTime>,
388 #[serde(default, skip_serializing_if = "Option::is_none")]
389 pub owned: Option<bool>,
390 #[serde(default, skip_serializing_if = "Option::is_none")]
391 pub color: Option<String>,
392 #[serde(default, skip_serializing_if = "Option::is_none")]
393 pub personal: Option<bool>,
394 #[serde(default, skip_serializing_if = "Option::is_none")]
395 pub external: Option<bool>,
396 #[serde(default, skip_serializing_if = "Option::is_none")]
397 pub url: Option<String>,
398 #[serde(default, skip_serializing_if = "Option::is_none")]
399 pub recordings_url: Option<String>,
400 #[serde(default, skip_serializing_if = "Option::is_none")]
401 pub occurrences_url: Option<String>,
402 #[serde(default, skip_serializing_if = "Option::is_none")]
403 pub owner_email_address: Option<String>,
404}
405
406#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
407#[non_exhaustive]
408pub struct CalendarDayListPayload {
409 #[serde(
410 default,
411 deserialize_with = "crate::types::null_as_default::deserialize"
412 )]
413 pub days: Vec<CalendarPeriod>,
414}
415
416#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
418#[non_exhaustive]
419pub struct CalendarListPayload {
420 #[serde(default, skip_serializing_if = "Option::is_none")]
421 pub calendars: Option<Vec<CalendarWithRecordingChangesUrl>>,
422 #[serde(default, skip_serializing_if = "Option::is_none")]
423 pub calendar_changes_url: Option<String>,
424 #[serde(default, skip_serializing_if = "Option::is_none")]
428 pub selected_calendar_ids: Option<Vec<i64>>,
429}
430
431#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
435#[non_exhaustive]
436pub struct CalendarPeriod {
437 pub starts_at: DateTime,
439 pub ends_at: DateTime,
441 #[serde(
443 default,
444 deserialize_with = "crate::types::null_as_default::deserialize"
445 )]
446 pub kind: String,
447 #[serde(default)]
448 pub recordings: CalendarRecordingsResponse,
449}
450
451pub type CalendarRecordingsResponse = BTreeMap<String, Vec<Recording>>;
453
454#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
456#[non_exhaustive]
457pub struct CalendarSelection {
458 #[serde(
459 default,
460 deserialize_with = "crate::types::null_as_default::deserialize"
461 )]
462 pub selected_calendar_ids: Vec<i64>,
463}
464
465#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
467pub struct CalendarTodoChanges {
468 #[serde(default, skip_serializing_if = "Option::is_none")]
469 pub title: Option<String>,
470 #[serde(default, skip_serializing_if = "Option::is_none")]
472 pub starts_at: Option<DateTime>,
473 #[serde(default, skip_serializing_if = "Option::is_none")]
474 pub focused: Option<bool>,
475}
476
477#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
478pub struct CalendarTodoPayload {
479 #[serde(
480 default,
481 deserialize_with = "crate::types::null_as_default::deserialize"
482 )]
483 pub title: String,
484 #[serde(default, skip_serializing_if = "Option::is_none")]
486 pub starts_at: Option<DateTime>,
487}
488
489#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
490#[non_exhaustive]
491pub struct CalendarWeekListPayload {
492 #[serde(
493 default,
494 deserialize_with = "crate::types::null_as_default::deserialize"
495 )]
496 pub weeks: Vec<CalendarPeriod>,
497}
498
499#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
501#[non_exhaustive]
502pub struct CalendarWithRecordingChangesUrl {
503 #[serde(default, skip_serializing_if = "Option::is_none")]
504 pub calendar: Option<Calendar>,
505 #[serde(default, skip_serializing_if = "Option::is_none")]
506 pub recording_changes_url: Option<String>,
507}
508
509#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
513#[non_exhaustive]
514pub struct CalendarYear {
515 pub starts_at: DateTime,
517 pub ends_at: DateTime,
519 #[serde(
521 default,
522 deserialize_with = "crate::types::null_as_default::deserialize"
523 )]
524 pub kind: String,
525 #[serde(
527 default,
528 deserialize_with = "crate::types::null_as_default::deserialize"
529 )]
530 pub padding_days_count: i32,
531 #[serde(
532 default,
533 deserialize_with = "crate::types::null_as_default::deserialize"
534 )]
535 pub days: Vec<CalendarYearDay>,
536 #[serde(
538 default,
539 deserialize_with = "crate::types::null_as_default::deserialize"
540 )]
541 pub spanned_events: Vec<Recording>,
542}
543
544#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
545#[non_exhaustive]
546pub struct CalendarYearDay {
547 pub starts_at: DateTime,
549 #[serde(
550 default,
551 deserialize_with = "crate::types::null_as_default::deserialize"
552 )]
553 pub backgrounded: bool,
554}
555
556#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
561#[non_exhaustive]
562pub struct Clearance {
563 #[serde(
564 default,
565 deserialize_with = "crate::types::null_as_default::deserialize"
566 )]
567 pub id: i64,
568 #[serde(default, skip_serializing_if = "Option::is_none")]
569 pub status: Option<String>,
570 #[serde(default, skip_serializing_if = "Option::is_none")]
572 pub created_at: Option<DateTime>,
573 #[serde(default, skip_serializing_if = "Option::is_none")]
575 pub updated_at: Option<DateTime>,
576 #[serde(default, skip_serializing_if = "Option::is_none")]
577 pub petitioner: Option<Contact>,
578 #[serde(default, skip_serializing_if = "Option::is_none")]
579 pub most_recent_entry: Option<Entry>,
580}
581
582#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
584#[non_exhaustive]
585pub struct ClearanceListResponse {
586 #[serde(default, skip_serializing_if = "Option::is_none")]
587 pub clearances: Option<Vec<Clearance>>,
588}
589
590#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
595#[non_exhaustive]
596pub struct ClearanceSummary {
597 #[serde(default, skip_serializing_if = "Option::is_none")]
598 pub pending_clearances_count: Option<i32>,
599 #[serde(default, skip_serializing_if = "Option::is_none")]
600 pub signed_stream_name: Option<String>,
601 #[serde(default, skip_serializing_if = "Option::is_none")]
602 pub clearances: Option<Vec<Clearance>>,
603}
604
605#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
606#[non_exhaustive]
607pub struct Clip {
608 #[serde(
609 default,
610 deserialize_with = "crate::types::null_as_default::deserialize"
611 )]
612 pub id: i64,
613 #[serde(default, skip_serializing_if = "Option::is_none")]
614 pub content: Option<String>,
615 #[serde(default, skip_serializing_if = "Option::is_none")]
617 pub created_at: Option<DateTime>,
618 #[serde(default, skip_serializing_if = "Option::is_none")]
620 pub updated_at: Option<DateTime>,
621 #[serde(default, skip_serializing_if = "Option::is_none")]
622 pub entry_id: Option<i64>,
623 #[serde(default, skip_serializing_if = "Option::is_none")]
624 pub topic: Option<ClipTopic>,
625}
626
627#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
629#[non_exhaustive]
630pub struct ClipTopic {
631 #[serde(
632 default,
633 deserialize_with = "crate::types::null_as_default::deserialize"
634 )]
635 pub id: i64,
636 #[serde(default, skip_serializing_if = "Option::is_none")]
637 pub name: Option<String>,
638 #[serde(default, skip_serializing_if = "Option::is_none")]
639 pub app_url: Option<String>,
640}
641
642#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
644#[non_exhaustive]
645pub struct Collection {
646 #[serde(
647 default,
648 deserialize_with = "crate::types::null_as_default::deserialize"
649 )]
650 pub id: i64,
651 #[serde(default, skip_serializing_if = "Option::is_none")]
652 pub name: Option<String>,
653 #[serde(default, skip_serializing_if = "Option::is_none")]
655 pub created_at: Option<DateTime>,
656 #[serde(default, skip_serializing_if = "Option::is_none")]
658 pub updated_at: Option<DateTime>,
659 #[serde(default, skip_serializing_if = "Option::is_none")]
660 pub app_url: Option<String>,
661}
662
663#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
664pub struct CollectionPayload {
665 #[serde(default, skip_serializing_if = "Option::is_none")]
666 pub name: Option<String>,
667 #[serde(default, skip_serializing_if = "Option::is_none")]
668 pub summary: Option<String>,
669}
670
671#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
673#[non_exhaustive]
674pub struct CollectionWithPostings {
675 #[serde(
676 default,
677 deserialize_with = "crate::types::null_as_default::deserialize"
678 )]
679 pub id: i64,
680 #[serde(default, skip_serializing_if = "Option::is_none")]
681 pub name: Option<String>,
682 #[serde(default, skip_serializing_if = "Option::is_none")]
684 pub created_at: Option<DateTime>,
685 #[serde(default, skip_serializing_if = "Option::is_none")]
687 pub updated_at: Option<DateTime>,
688 #[serde(default, skip_serializing_if = "Option::is_none")]
689 pub app_url: Option<String>,
690 #[serde(default, skip_serializing_if = "Option::is_none")]
691 pub postings: Option<Vec<Posting>>,
692}
693
694pub type CompleteCalendarTodoResponseContent = Recording;
695
696pub type CompleteHabitResponseContent = Recording;
697
698#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
702#[non_exhaustive]
703pub struct ConflictErrorResponseContent {
704 #[serde(default, skip_serializing_if = "Option::is_none")]
705 pub error: Option<String>,
706 #[serde(default, skip_serializing_if = "Option::is_none")]
707 pub errors: Option<Vec<String>>,
708 #[serde(default, skip_serializing_if = "Option::is_none")]
712 pub contact_id: Option<i64>,
713 #[serde(default, skip_serializing_if = "Option::is_none")]
714 pub conflicting_contact_ids: Option<Vec<i64>>,
715}
716
717#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
719#[non_exhaustive]
720pub struct Contact {
721 #[serde(
722 default,
723 deserialize_with = "crate::types::null_as_default::deserialize"
724 )]
725 pub id: i64,
726 #[serde(default, skip_serializing_if = "Option::is_none")]
727 pub account_id: Option<i64>,
728 #[serde(default, skip_serializing_if = "Option::is_none")]
730 pub updated_at: Option<DateTime>,
731 #[serde(default, skip_serializing_if = "Option::is_none")]
732 pub name: Option<String>,
733 #[serde(default, skip_serializing_if = "Option::is_none")]
734 pub email_address: Option<SensitiveString>,
735 #[serde(default, skip_serializing_if = "Option::is_none")]
736 pub avatar_url: Option<String>,
737 #[serde(default, skip_serializing_if = "Option::is_none")]
738 pub initials: Option<String>,
739 #[serde(default, skip_serializing_if = "Option::is_none")]
740 pub avatar_background_color: Option<String>,
741 #[serde(default, skip_serializing_if = "Option::is_none")]
742 pub contactable_type: Option<String>,
743 #[serde(default, skip_serializing_if = "Option::is_none")]
744 pub name_tag: Option<String>,
745}
746
747#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
749#[non_exhaustive]
750pub struct ContactDetail {
751 #[serde(
752 default,
753 deserialize_with = "crate::types::null_as_default::deserialize"
754 )]
755 pub id: i64,
756 #[serde(default, skip_serializing_if = "Option::is_none")]
757 pub account_id: Option<i64>,
758 #[serde(default, skip_serializing_if = "Option::is_none")]
760 pub updated_at: Option<DateTime>,
761 #[serde(default, skip_serializing_if = "Option::is_none")]
762 pub name: Option<String>,
763 #[serde(default, skip_serializing_if = "Option::is_none")]
764 pub email_address: Option<SensitiveString>,
765 #[serde(default, skip_serializing_if = "Option::is_none")]
766 pub avatar_url: Option<String>,
767 #[serde(default, skip_serializing_if = "Option::is_none")]
768 pub initials: Option<String>,
769 #[serde(default, skip_serializing_if = "Option::is_none")]
770 pub avatar_background_color: Option<String>,
771 #[serde(default, skip_serializing_if = "Option::is_none")]
772 pub contactable_type: Option<String>,
773 #[serde(default, skip_serializing_if = "Option::is_none")]
774 pub name_tag: Option<String>,
775 #[serde(default, skip_serializing_if = "Option::is_none")]
776 pub edit_app_url: Option<String>,
777 #[serde(default, skip_serializing_if = "Option::is_none")]
778 pub clearance: Option<Clearance>,
779 #[serde(default, skip_serializing_if = "Option::is_none")]
780 pub aliases: Option<Vec<Contact>>,
781 #[serde(default, skip_serializing_if = "Option::is_none")]
782 pub domain: Option<Domain>,
783 #[serde(default, skip_serializing_if = "Option::is_none")]
785 pub entries_title: Option<String>,
786 #[serde(default, skip_serializing_if = "Option::is_none")]
788 pub postings: Option<Vec<Posting>>,
789}
790
791#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
793#[non_exhaustive]
794pub struct ContactNote {
795 #[serde(
796 default,
797 deserialize_with = "crate::types::null_as_default::deserialize"
798 )]
799 pub contact_id: i64,
800 #[serde(
801 default,
802 deserialize_with = "crate::types::null_as_default::deserialize"
803 )]
804 pub note: String,
805 #[serde(
807 default,
808 deserialize_with = "crate::types::null_as_default::deserialize"
809 )]
810 pub note_html: String,
811}
812
813#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
814pub struct ContactNotePayload {
815 #[serde(
816 default,
817 deserialize_with = "crate::types::null_as_default::deserialize"
818 )]
819 pub note: String,
820}
821
822#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
824pub struct ContactNoteRequestContent {
825 #[serde(default)]
826 pub contact: ContactNotePayload,
827}
828
829#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
830pub struct ContactPayload {
831 #[serde(
832 default,
833 deserialize_with = "crate::types::null_as_default::deserialize"
834 )]
835 pub name: String,
836 #[serde(default, skip_serializing_if = "Option::is_none")]
837 pub email_address: Option<SensitiveString>,
838 #[serde(default, skip_serializing_if = "Option::is_none")]
840 pub alias_email_addresses: Option<Vec<String>>,
841}
842
843#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
845pub struct ContactRequestContent {
846 #[serde(default)]
847 pub contact: ContactPayload,
848}
849
850#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
851pub struct CreateBoxDesignationRequestContent {
852 #[serde(
853 default,
854 deserialize_with = "crate::types::null_as_default::deserialize"
855 )]
856 pub contact_id: i64,
857}
858
859#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
860pub struct CreateBoxGroupRequestContent {
861 #[serde(
862 default,
863 deserialize_with = "crate::types::null_as_default::deserialize"
864 )]
865 pub posting_ids: Vec<i64>,
866}
867
868pub type CreateBoxGroupResponseContent = BoxGroup;
869
870pub type CreateBulkReplyResponseContent = BulkReplyDelivery;
871
872#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
874pub struct CreateCalendarTodoRequestContent {
875 #[serde(default)]
876 pub calendar_todo: CalendarTodoPayload,
877}
878
879pub type CreateCalendarTodoResponseContent = Recording;
880
881#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
884pub struct CreateContactRequestContent {
885 #[serde(default, skip_serializing_if = "Option::is_none")]
888 pub acting_user_id: Option<i64>,
889 #[serde(default)]
890 pub contact: ContactPayload,
891}
892
893pub type CreateContactResponseContent = Contact;
894
895#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
896pub struct CreateDirectUploadRequestContent {
897 #[serde(default)]
898 pub blob: DirectUploadBlob,
899}
900
901#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
903pub struct CreateFolderForPostingsRequestContent {
904 #[serde(
905 default,
906 deserialize_with = "crate::types::null_as_default::deserialize"
907 )]
908 pub posting_ids: Vec<i64>,
909 #[serde(default)]
910 pub folder: FolderPayload,
911}
912
913pub type CreateHabitResponseContent = Recording;
914
915#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
917pub struct CreateMessageRequestContent {
918 #[serde(
919 default,
920 deserialize_with = "crate::types::null_as_default::deserialize"
921 )]
922 pub acting_sender_id: i64,
923 #[serde(default)]
924 pub message: MessagePayload,
925 #[serde(default, skip_serializing_if = "Option::is_none")]
926 pub entry: Option<MessageEntryPayload>,
927}
928
929#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
934pub struct CreateReplyRequestContent {
935 #[serde(
936 default,
937 deserialize_with = "crate::types::null_as_default::deserialize"
938 )]
939 pub acting_sender_id: i64,
940 #[serde(default)]
941 pub message: ReplyMessagePayload,
942 #[serde(default, skip_serializing_if = "Option::is_none")]
943 pub entry: Option<MessageEntryPayload>,
944}
945
946pub type CreateStickyResponseContent = Sticky;
947
948pub type CreateTimeTrackResponseContent = Recording;
949
950#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
952#[non_exhaustive]
953pub struct DeletedPosting {
954 #[serde(
955 default,
956 deserialize_with = "crate::types::null_as_default::deserialize"
957 )]
958 pub id: i64,
959 #[serde(default, skip_serializing_if = "Option::is_none")]
960 pub box_id: Option<i64>,
961 #[serde(default, skip_serializing_if = "Option::is_none")]
963 pub deleted_at: Option<DateTime>,
964}
965
966#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
967#[non_exhaustive]
968pub struct DirectUpload {
969 #[serde(
970 default,
971 deserialize_with = "crate::types::null_as_default::deserialize"
972 )]
973 pub signed_id: String,
974 #[serde(
975 default,
976 deserialize_with = "crate::types::null_as_default::deserialize"
977 )]
978 pub attachable_sgid: String,
979 #[serde(default)]
980 pub direct_upload: DirectUploadTarget,
981}
982
983#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
984pub struct DirectUploadBlob {
985 #[serde(
986 default,
987 deserialize_with = "crate::types::null_as_default::deserialize"
988 )]
989 pub filename: String,
990 #[serde(
991 default,
992 deserialize_with = "crate::types::null_as_default::deserialize"
993 )]
994 pub byte_size: i64,
995 #[serde(
996 default,
997 deserialize_with = "crate::types::null_as_default::deserialize"
998 )]
999 pub checksum: String,
1000 #[serde(
1001 default,
1002 deserialize_with = "crate::types::null_as_default::deserialize"
1003 )]
1004 pub content_type: String,
1005}
1006
1007pub type DirectUploadHeaders = BTreeMap<String, String>;
1008
1009#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1010#[non_exhaustive]
1011pub struct DirectUploadTarget {
1012 #[serde(
1013 default,
1014 deserialize_with = "crate::types::null_as_default::deserialize"
1015 )]
1016 pub url: String,
1017 #[serde(default, skip_serializing_if = "Option::is_none")]
1018 pub headers: Option<DirectUploadHeaders>,
1019}
1020
1021#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1023#[non_exhaustive]
1024pub struct Domain {
1025 #[serde(
1026 default,
1027 deserialize_with = "crate::types::null_as_default::deserialize"
1028 )]
1029 pub id: i64,
1030 #[serde(default, skip_serializing_if = "Option::is_none")]
1031 pub address: Option<String>,
1032 #[serde(default, skip_serializing_if = "Option::is_none")]
1033 pub app_url: Option<String>,
1034 #[serde(default, skip_serializing_if = "Option::is_none")]
1035 pub avatar_url: Option<String>,
1036}
1037
1038#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1040#[non_exhaustive]
1041pub struct DraftMessage {
1042 #[serde(
1043 default,
1044 deserialize_with = "crate::types::null_as_default::deserialize"
1045 )]
1046 pub id: i64,
1047 #[serde(default, skip_serializing_if = "Option::is_none")]
1048 pub subject: Option<String>,
1049 #[serde(default, skip_serializing_if = "Option::is_none")]
1051 pub updated_at: Option<DateTime>,
1052 #[serde(default, skip_serializing_if = "Option::is_none")]
1053 pub creator: Option<Contact>,
1054 #[serde(default, skip_serializing_if = "Option::is_none")]
1055 pub account_id: Option<i64>,
1056 #[serde(default, skip_serializing_if = "Option::is_none")]
1057 pub summary: Option<String>,
1058 #[serde(default, skip_serializing_if = "Option::is_none")]
1059 pub url: Option<String>,
1060 #[serde(default, skip_serializing_if = "Option::is_none")]
1061 pub app_url: Option<String>,
1062 #[serde(default, skip_serializing_if = "Option::is_none")]
1063 pub edit_url: Option<String>,
1064 #[serde(default, skip_serializing_if = "Option::is_none")]
1065 pub addressed_contacts: Option<Vec<Contact>>,
1066 #[serde(default, skip_serializing_if = "Option::is_none")]
1068 pub scheduled_delivery_at: Option<DateTime>,
1069}
1070
1071#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1073#[non_exhaustive]
1074pub struct Entry {
1075 #[serde(
1076 default,
1077 deserialize_with = "crate::types::null_as_default::deserialize"
1078 )]
1079 pub id: i64,
1080 #[serde(default, skip_serializing_if = "Option::is_none")]
1082 pub created_at: Option<DateTime>,
1083 #[serde(default, skip_serializing_if = "Option::is_none")]
1085 pub updated_at: Option<DateTime>,
1086 #[serde(default, skip_serializing_if = "Option::is_none")]
1087 pub creator: Option<Contact>,
1088 #[serde(default, skip_serializing_if = "Option::is_none")]
1089 pub alternative_sender_name: Option<String>,
1090 #[serde(default, skip_serializing_if = "Option::is_none")]
1091 pub summary: Option<String>,
1092 #[serde(default, skip_serializing_if = "Option::is_none")]
1093 pub kind: Option<String>,
1094 #[serde(default, skip_serializing_if = "Option::is_none")]
1095 pub app_url: Option<String>,
1096 #[serde(default, skip_serializing_if = "Option::is_none")]
1097 pub subject: Option<String>,
1098 #[serde(default, skip_serializing_if = "Option::is_none")]
1099 pub topic_id: Option<i64>,
1100}
1101
1102#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1104#[non_exhaustive]
1105pub struct Extenzion {
1106 #[serde(
1107 default,
1108 deserialize_with = "crate::types::null_as_default::deserialize"
1109 )]
1110 pub id: i64,
1111 #[serde(default, skip_serializing_if = "Option::is_none")]
1112 pub name: Option<String>,
1113 #[serde(default, skip_serializing_if = "Option::is_none")]
1114 pub app_url: Option<String>,
1115}
1116
1117#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1118#[non_exhaustive]
1119pub struct ExternalAccount {
1120 #[serde(
1121 default,
1122 deserialize_with = "crate::types::null_as_default::deserialize"
1123 )]
1124 pub id: i64,
1125 #[serde(default, skip_serializing_if = "Option::is_none")]
1126 pub contact: Option<Contact>,
1127}
1128
1129#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1130pub struct FilePostingsRequestContent {
1131 #[serde(
1132 default,
1133 deserialize_with = "crate::types::null_as_default::deserialize"
1134 )]
1135 pub posting_ids: Vec<i64>,
1136 #[serde(
1137 default,
1138 deserialize_with = "crate::types::null_as_default::deserialize"
1139 )]
1140 pub folder_id: i64,
1141}
1142
1143#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1144pub struct FirstWeekDayParams {
1145 #[serde(
1147 default,
1148 deserialize_with = "crate::types::null_as_default::deserialize"
1149 )]
1150 pub first_week_day: String,
1151}
1152
1153#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1154#[non_exhaustive]
1155pub struct FirstWeekDayPreference {
1156 #[serde(
1158 default,
1159 deserialize_with = "crate::types::null_as_default::deserialize"
1160 )]
1161 pub first_week_day: i32,
1162}
1163
1164#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1166#[non_exhaustive]
1167pub struct Folder {
1168 #[serde(
1169 default,
1170 deserialize_with = "crate::types::null_as_default::deserialize"
1171 )]
1172 pub id: i64,
1173 #[serde(default, skip_serializing_if = "Option::is_none")]
1174 pub name: Option<String>,
1175 #[serde(default, skip_serializing_if = "Option::is_none")]
1177 pub created_at: Option<DateTime>,
1178 #[serde(default, skip_serializing_if = "Option::is_none")]
1180 pub updated_at: Option<DateTime>,
1181 #[serde(default, skip_serializing_if = "Option::is_none")]
1182 pub app_url: Option<String>,
1183}
1184
1185#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1186pub struct FolderPayload {
1187 #[serde(
1188 default,
1189 deserialize_with = "crate::types::null_as_default::deserialize"
1190 )]
1191 pub name: String,
1192 #[serde(default, skip_serializing_if = "Option::is_none")]
1193 pub status: Option<String>,
1194}
1195
1196#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1198#[non_exhaustive]
1199pub struct FolderWithPostings {
1200 #[serde(
1201 default,
1202 deserialize_with = "crate::types::null_as_default::deserialize"
1203 )]
1204 pub id: i64,
1205 #[serde(default, skip_serializing_if = "Option::is_none")]
1206 pub name: Option<String>,
1207 #[serde(default, skip_serializing_if = "Option::is_none")]
1209 pub created_at: Option<DateTime>,
1210 #[serde(default, skip_serializing_if = "Option::is_none")]
1212 pub updated_at: Option<DateTime>,
1213 #[serde(default, skip_serializing_if = "Option::is_none")]
1214 pub app_url: Option<String>,
1215 #[serde(default, skip_serializing_if = "Option::is_none")]
1216 pub postings: Option<Vec<Posting>>,
1217}
1218
1219#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1220#[non_exhaustive]
1221pub struct ForbiddenErrorResponseContent {
1222 #[serde(
1223 default,
1224 deserialize_with = "crate::types::null_as_default::deserialize"
1225 )]
1226 pub message: String,
1227}
1228
1229pub type GetAdvancedSearchFiltersResponseContent = AdvancedSearchFilters;
1230
1231pub type GetAsideboxResponseContent = BoxShowResponse;
1232
1233pub type GetBoxGroupResponseContent = BoxGroupWithPostings;
1234
1235#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1236#[non_exhaustive]
1237pub struct GetBoxPostingChangesResponseContent {
1238 #[serde(default, skip_serializing_if = "Option::is_none")]
1239 pub added: Option<Vec<Posting>>,
1240 #[serde(default, skip_serializing_if = "Option::is_none")]
1241 pub updated: Option<Vec<Posting>>,
1242 #[serde(default, skip_serializing_if = "Option::is_none")]
1243 pub deleted: Option<Vec<DeletedPosting>>,
1244}
1245
1246pub type GetBoxResponseContent = BoxShowResponse;
1247
1248pub type GetBubbleboxResponseContent = BoxShowResponse;
1249
1250#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1251#[non_exhaustive]
1252pub struct GetBundleUnseenPostingsResponseContent {
1253 #[serde(default)]
1254 pub contact: Contact,
1255 #[serde(
1256 default,
1257 deserialize_with = "crate::types::null_as_default::deserialize"
1258 )]
1259 pub postings: Vec<Posting>,
1260}
1261
1262pub type GetCalendarDayResponseContent = CalendarPeriod;
1263
1264pub type GetCalendarRecordingsResponseContent = CalendarRecordingsResponse;
1265
1266pub type GetCalendarWeekResponseContent = CalendarPeriod;
1267
1268pub type GetCalendarYearResponseContent = CalendarYear;
1269
1270pub type GetClearancesResponseContent = ClearanceSummary;
1271
1272pub type GetCollectionResponseContent = CollectionWithPostings;
1273
1274pub type GetContactNoteResponseContent = ContactNote;
1275
1276pub type GetContactResponseContent = ContactDetail;
1277
1278pub type GetEverythingTopicsResponseContent = TopicListResponse;
1279
1280pub type GetFeedboxResponseContent = BoxShowResponse;
1281
1282pub type GetFolderResponseContent = FolderWithPostings;
1283
1284pub type GetIdentityResponseContent = Identity;
1285
1286pub type GetImboxResponseContent = BoxShowResponse;
1287
1288pub type GetImboxSeenResponseContent = BoxShowResponse;
1289
1290pub type GetJournalEntryResponseContent = Recording;
1291
1292pub type GetLaterboxResponseContent = BoxShowResponse;
1293
1294pub type GetMessageEditResponseContent = MessageEditState;
1295
1296pub type GetMessageResponseContent = Message;
1297
1298pub type GetMyClearancesResponseContent = ClearanceListResponse;
1299
1300pub type GetNavigationResponseContent = NavigationResponse;
1301
1302pub type GetOngoingTimeTrackResponseContent = Recording;
1303
1304pub type GetSentTopicsResponseContent = TopicListResponse;
1305
1306pub type GetSpamTopicsResponseContent = TopicListResponse;
1307
1308pub type GetTopicEntriesResponseContent = Vec<Entry>;
1309
1310pub type GetTopicPublicationResponseContent = TopicPublication;
1311
1312pub type GetTopicResponseContent = Topic;
1313
1314pub type GetTrailboxResponseContent = BoxShowResponse;
1315
1316pub type GetTrashTopicsResponseContent = TopicListResponse;
1317
1318pub type GetWorkflowResponseContent = Workflow;
1319
1320pub type GetWorkflowStageOutputPayload = String;
1321
1322#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1323pub struct HabitPayload {
1324 #[serde(default, skip_serializing_if = "Option::is_none")]
1325 pub name: Option<String>,
1326 #[serde(default, skip_serializing_if = "Option::is_none")]
1327 pub icon: Option<String>,
1328 #[serde(default, skip_serializing_if = "Option::is_none")]
1329 pub color: Option<String>,
1330 #[serde(default, skip_serializing_if = "Option::is_none")]
1332 pub days: Option<Vec<i32>>,
1333}
1334
1335#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1337pub struct HabitRequestContent {
1338 #[serde(default)]
1339 pub calendar_habit: HabitPayload,
1340}
1341
1342#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1343#[non_exhaustive]
1344pub struct Identity {
1345 #[serde(
1346 default,
1347 deserialize_with = "crate::types::null_as_default::deserialize"
1348 )]
1349 pub id: i64,
1350 #[serde(default, skip_serializing_if = "Option::is_none")]
1351 pub name: Option<String>,
1352 #[serde(default, skip_serializing_if = "Option::is_none")]
1353 pub avatar_url: Option<String>,
1354 #[serde(default, skip_serializing_if = "Option::is_none")]
1355 pub icon_url: Option<String>,
1356 #[serde(default, skip_serializing_if = "Option::is_none")]
1357 pub time_zone: Option<String>,
1358 #[serde(default, skip_serializing_if = "Option::is_none")]
1359 pub time_zone_name: Option<String>,
1360 #[serde(default, skip_serializing_if = "Option::is_none")]
1361 pub time_zone_offset: Option<i32>,
1362 #[serde(default, skip_serializing_if = "Option::is_none")]
1363 pub auto_time_zone: Option<bool>,
1364 #[serde(default, skip_serializing_if = "Option::is_none")]
1365 pub first_week_day: Option<i32>,
1366 #[serde(default, skip_serializing_if = "Option::is_none")]
1367 pub time_format: Option<String>,
1368 #[serde(default, skip_serializing_if = "Option::is_none")]
1369 pub primary_contact: Option<Contact>,
1370 #[serde(default, skip_serializing_if = "Option::is_none")]
1371 pub all_users: Option<Vec<User>>,
1372 #[serde(default, skip_serializing_if = "Option::is_none")]
1373 pub accounts: Option<Vec<Account>>,
1374 #[serde(default, skip_serializing_if = "Option::is_none")]
1375 pub senders: Option<Vec<Sender>>,
1376}
1377
1378#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1379#[non_exhaustive]
1380pub struct InternalServerErrorResponseContent {
1381 #[serde(
1382 default,
1383 deserialize_with = "crate::types::null_as_default::deserialize"
1384 )]
1385 pub message: String,
1386}
1387
1388#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1390#[non_exhaustive]
1391pub struct JoinLink {
1392 #[serde(default, skip_serializing_if = "Option::is_none")]
1393 pub title: Option<String>,
1394 #[serde(default, skip_serializing_if = "Option::is_none")]
1395 pub url: Option<String>,
1396}
1397
1398#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1399pub struct JournalEntryPayload {
1400 #[serde(
1401 default,
1402 deserialize_with = "crate::types::null_as_default::deserialize"
1403 )]
1404 pub content: String,
1405}
1406
1407pub type ListBoxGroupsResponseContent = BoxGroupsResponse;
1408
1409pub type ListBoxesResponseContent = Vec<Mailbox>;
1410
1411pub type ListCalendarDaysResponseContent = CalendarDayListPayload;
1412
1413pub type ListCalendarWeeksResponseContent = CalendarWeekListPayload;
1414
1415pub type ListCalendarsResponseContent = CalendarListPayload;
1416
1417pub type ListClipsResponseContent = Vec<Clip>;
1418
1419pub type ListCollectionsResponseContent = Vec<Collection>;
1420
1421pub type ListContactsResponseContent = Vec<Contact>;
1422
1423pub type ListDraftsResponseContent = Vec<DraftMessage>;
1424
1425pub type ListJournalEntriesResponseContent = Vec<Recording>;
1426
1427pub type ListSnippetsResponseContent = Vec<Snippet>;
1428
1429pub type ListStickiesResponseContent = Vec<Sticky>;
1430
1431pub type ListTimeTrackCategoriesResponseContent = Vec<TimeTrackCategory>;
1432
1433pub type ListTimeTracksResponseContent = TrackedTime;
1434
1435#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1436pub struct MarkPostingsRequestContent {
1437 #[serde(
1438 default,
1439 deserialize_with = "crate::types::null_as_default::deserialize"
1440 )]
1441 pub posting_ids: Vec<i64>,
1442}
1443
1444#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1446#[non_exhaustive]
1447pub struct Message {
1448 #[serde(
1449 default,
1450 deserialize_with = "crate::types::null_as_default::deserialize"
1451 )]
1452 pub id: i64,
1453 #[serde(default, skip_serializing_if = "Option::is_none")]
1455 pub created_at: Option<DateTime>,
1456 #[serde(default, skip_serializing_if = "Option::is_none")]
1458 pub updated_at: Option<DateTime>,
1459 #[serde(default, skip_serializing_if = "Option::is_none")]
1460 pub url: Option<String>,
1461 #[serde(default, skip_serializing_if = "Option::is_none")]
1462 pub creator: Option<Contact>,
1463 #[serde(default, skip_serializing_if = "Option::is_none")]
1464 pub sender: Option<Contact>,
1465 #[serde(default, skip_serializing_if = "Option::is_none")]
1466 pub is_reply: Option<bool>,
1467 #[serde(default, skip_serializing_if = "Option::is_none")]
1468 pub subject: Option<String>,
1469 #[serde(default, skip_serializing_if = "Option::is_none")]
1470 pub content: Option<String>,
1471 #[serde(default, skip_serializing_if = "Option::is_none")]
1472 pub addressed: Option<Addressed>,
1473 #[serde(default, skip_serializing_if = "Option::is_none")]
1474 pub show_addressed_selector: Option<bool>,
1475 #[serde(default, skip_serializing_if = "Option::is_none")]
1477 pub scheduled_delivery_at: Option<DateTime>,
1478 #[serde(default, skip_serializing_if = "Option::is_none")]
1479 pub posting: Option<MessagePostingContext>,
1480 #[serde(default, skip_serializing_if = "Option::is_none")]
1481 pub addressed_sender: Option<AddressedSender>,
1482}
1483
1484#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1488pub struct MessageAddressed {
1489 #[serde(default, skip_serializing_if = "Option::is_none")]
1490 pub directly: Option<Vec<String>>,
1491 #[serde(default, skip_serializing_if = "Option::is_none")]
1492 pub copied: Option<Vec<String>>,
1493 #[serde(default, skip_serializing_if = "Option::is_none")]
1494 pub blindcopied: Option<Vec<String>>,
1495}
1496
1497#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1499#[non_exhaustive]
1500pub struct MessageDraft {
1501 #[serde(default, skip_serializing_if = "Option::is_none")]
1502 pub url: Option<String>,
1503 #[serde(default, skip_serializing_if = "Option::is_none")]
1504 pub creator: Option<Contact>,
1505 #[serde(default, skip_serializing_if = "Option::is_none")]
1506 pub sender: Option<Contact>,
1507 #[serde(default, skip_serializing_if = "Option::is_none")]
1508 pub is_reply: Option<bool>,
1509 #[serde(default, skip_serializing_if = "Option::is_none")]
1510 pub subject: Option<String>,
1511 #[serde(default, skip_serializing_if = "Option::is_none")]
1512 pub content: Option<String>,
1513 #[serde(default, skip_serializing_if = "Option::is_none")]
1514 pub addressed: Option<Addressed>,
1515 #[serde(default, skip_serializing_if = "Option::is_none")]
1516 pub show_addressed_selector: Option<bool>,
1517 #[serde(default, skip_serializing_if = "Option::is_none")]
1518 pub posting: Option<MessagePostingContext>,
1519 #[serde(default, skip_serializing_if = "Option::is_none")]
1520 pub addressed_sender: Option<AddressedSender>,
1521}
1522
1523#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1526#[non_exhaustive]
1527pub struct MessageEditState {
1528 #[serde(
1529 default,
1530 deserialize_with = "crate::types::null_as_default::deserialize"
1531 )]
1532 pub id: i64,
1533 #[serde(default, skip_serializing_if = "Option::is_none")]
1535 pub created_at: Option<DateTime>,
1536 #[serde(default, skip_serializing_if = "Option::is_none")]
1538 pub updated_at: Option<DateTime>,
1539 #[serde(default, skip_serializing_if = "Option::is_none")]
1540 pub url: Option<String>,
1541 #[serde(default, skip_serializing_if = "Option::is_none")]
1542 pub creator: Option<Contact>,
1543 #[serde(default, skip_serializing_if = "Option::is_none")]
1544 pub sender: Option<Contact>,
1545 #[serde(default, skip_serializing_if = "Option::is_none")]
1546 pub is_reply: Option<bool>,
1547 #[serde(default, skip_serializing_if = "Option::is_none")]
1548 pub subject: Option<String>,
1549 #[serde(default, skip_serializing_if = "Option::is_none")]
1550 pub content: Option<String>,
1551 #[serde(default, skip_serializing_if = "Option::is_none")]
1552 pub addressed: Option<Addressed>,
1553 #[serde(default, skip_serializing_if = "Option::is_none")]
1554 pub show_addressed_selector: Option<bool>,
1555 #[serde(default, skip_serializing_if = "Option::is_none")]
1557 pub scheduled_delivery_at: Option<DateTime>,
1558 #[serde(default, skip_serializing_if = "Option::is_none")]
1559 pub posting: Option<MessagePostingContext>,
1560 #[serde(default, skip_serializing_if = "Option::is_none")]
1561 pub addressed_sender: Option<AddressedSender>,
1562}
1563
1564#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1565pub struct MessageEntryPayload {
1566 #[serde(default, skip_serializing_if = "Option::is_none")]
1567 pub addressed: Option<MessageAddressed>,
1568 #[serde(default, skip_serializing_if = "Option::is_none")]
1571 pub status: Option<String>,
1572 #[serde(default, skip_serializing_if = "Option::is_none")]
1576 pub scheduled_delivery: Option<String>,
1577 #[serde(default, skip_serializing_if = "Option::is_none")]
1580 pub scheduled_delivery_at_date: Option<String>,
1581 #[serde(default, skip_serializing_if = "Option::is_none")]
1584 pub scheduled_delivery_at_hour: Option<String>,
1585}
1586
1587#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1588pub struct MessagePayload {
1589 #[serde(
1590 default,
1591 deserialize_with = "crate::types::null_as_default::deserialize"
1592 )]
1593 pub subject: String,
1594 #[serde(
1595 default,
1596 deserialize_with = "crate::types::null_as_default::deserialize"
1597 )]
1598 pub content: String,
1599}
1600
1601#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1603#[non_exhaustive]
1604pub struct MessagePostingContext {
1605 #[serde(default, skip_serializing_if = "Option::is_none")]
1606 pub r#box: Option<String>,
1607}
1608
1609#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1610pub struct MovePostingsRequestContent {
1611 #[serde(
1612 default,
1613 deserialize_with = "crate::types::null_as_default::deserialize"
1614 )]
1615 pub posting_ids: Vec<i64>,
1616 #[serde(
1617 default,
1618 deserialize_with = "crate::types::null_as_default::deserialize"
1619 )]
1620 pub box_id: i64,
1621}
1622
1623#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1625pub struct MoveStickyRequestContent {
1626 #[serde(
1627 default,
1628 deserialize_with = "crate::types::null_as_default::deserialize"
1629 )]
1630 pub id: i64,
1631 #[serde(
1632 default,
1633 deserialize_with = "crate::types::null_as_default::deserialize"
1634 )]
1635 pub position: i32,
1636}
1637
1638#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1639pub struct MoveTopicRequestContent {
1640 #[serde(
1641 default,
1642 deserialize_with = "crate::types::null_as_default::deserialize"
1643 )]
1644 pub box_id: i64,
1645}
1646
1647#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1648pub struct MoveWorkflowStagingRequestContent {
1649 #[serde(default)]
1650 pub workflow_staging: WorkflowStagingPayload,
1651}
1652
1653#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1655#[non_exhaustive]
1656pub struct NavigationIcon {
1657 #[serde(default, skip_serializing_if = "Option::is_none")]
1658 pub name: Option<String>,
1659 #[serde(default, skip_serializing_if = "Option::is_none")]
1660 pub android_url: Option<String>,
1661 #[serde(default, skip_serializing_if = "Option::is_none")]
1662 pub ios_url: Option<String>,
1663}
1664
1665#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1667#[non_exhaustive]
1668pub struct NavigationItem {
1669 #[serde(default, skip_serializing_if = "Option::is_none")]
1670 pub title: Option<String>,
1671 #[serde(default, skip_serializing_if = "Option::is_none")]
1672 pub app_url: Option<String>,
1673 #[serde(default, skip_serializing_if = "Option::is_none")]
1674 pub platform: Option<String>,
1675 #[serde(default, skip_serializing_if = "Option::is_none")]
1676 pub hotkey: Option<String>,
1677 #[serde(default, skip_serializing_if = "Option::is_none")]
1678 pub highlighted: Option<bool>,
1679 #[serde(default, skip_serializing_if = "Option::is_none")]
1680 pub icon: Option<NavigationIcon>,
1681 #[serde(default, skip_serializing_if = "Option::is_none")]
1682 pub menu_items: Option<Vec<NavigationItem>>,
1683}
1684
1685#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1687#[non_exhaustive]
1688pub struct NavigationResponse {
1689 #[serde(default, skip_serializing_if = "Option::is_none")]
1690 pub items: Option<Vec<NavigationItem>>,
1691 #[serde(default, skip_serializing_if = "Option::is_none")]
1692 pub hotkeys: Option<Vec<NavigationItem>>,
1693}
1694
1695pub type NewBulkReplyResponseContent = BulkReplyDraft;
1696
1697pub type NewEntryForwardResponseContent = MessageDraft;
1698
1699pub type NewEntryReplyResponseContent = MessageDraft;
1700
1701#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1702#[non_exhaustive]
1703pub struct NotFoundErrorResponseContent {
1704 #[serde(
1705 default,
1706 deserialize_with = "crate::types::null_as_default::deserialize"
1707 )]
1708 pub message: String,
1709}
1710
1711#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1713#[non_exhaustive]
1714pub struct Organizer {
1715 #[serde(default, skip_serializing_if = "Option::is_none")]
1716 pub email_address: Option<String>,
1717 #[serde(default, skip_serializing_if = "Option::is_none")]
1718 pub name: Option<String>,
1719}
1720
1721#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1723#[non_exhaustive]
1724pub struct Posting {
1725 #[serde(
1726 default,
1727 deserialize_with = "crate::types::null_as_default::deserialize"
1728 )]
1729 pub id: i64,
1730 #[serde(default, skip_serializing_if = "Option::is_none")]
1732 pub created_at: Option<DateTime>,
1733 #[serde(default, skip_serializing_if = "Option::is_none")]
1735 pub updated_at: Option<DateTime>,
1736 #[serde(default, skip_serializing_if = "Option::is_none")]
1738 pub observed_at: Option<DateTime>,
1739 #[serde(default, skip_serializing_if = "Option::is_none")]
1741 pub active_at: Option<DateTime>,
1742 #[serde(default, skip_serializing_if = "Option::is_none")]
1743 pub box_id: Option<i64>,
1744 #[serde(default, skip_serializing_if = "Option::is_none")]
1745 pub account_id: Option<i64>,
1746 #[serde(
1748 default,
1749 deserialize_with = "crate::types::null_as_default::deserialize"
1750 )]
1751 pub kind: String,
1752 #[serde(default, skip_serializing_if = "Option::is_none")]
1753 pub seen: Option<bool>,
1754 #[serde(default, skip_serializing_if = "Option::is_none")]
1755 pub bundled: Option<bool>,
1756 #[serde(default, skip_serializing_if = "Option::is_none")]
1757 pub muted: Option<bool>,
1758 #[serde(default, skip_serializing_if = "Option::is_none")]
1759 pub note: Option<PostingNote>,
1760 #[serde(default, skip_serializing_if = "Option::is_none")]
1761 pub preapproved_clearance: Option<bool>,
1762 #[serde(default, skip_serializing_if = "Option::is_none")]
1763 pub box_group_id: Option<i64>,
1764 #[serde(default, skip_serializing_if = "Option::is_none")]
1765 pub includes_attachments: Option<bool>,
1766 #[serde(default, skip_serializing_if = "Option::is_none")]
1767 pub includes_calendar_invites: Option<bool>,
1768 #[serde(default, skip_serializing_if = "Option::is_none")]
1769 pub bubbled_up: Option<bool>,
1770 #[serde(default, skip_serializing_if = "Option::is_none")]
1771 pub bubble_up_waiting_on: Option<bool>,
1772 #[serde(default, skip_serializing_if = "Option::is_none")]
1773 pub bubble_up_schedule: Option<BubbleUpSchedule>,
1774 #[serde(default, skip_serializing_if = "Option::is_none")]
1775 pub creator: Option<Contact>,
1776 #[serde(default, skip_serializing_if = "Option::is_none")]
1777 pub app_url: Option<String>,
1778 #[serde(default, skip_serializing_if = "Option::is_none")]
1779 pub summary: Option<String>,
1780 #[serde(default, skip_serializing_if = "Option::is_none")]
1781 pub alternative_sender_name: Option<String>,
1782 #[serde(default, skip_serializing_if = "Option::is_none")]
1783 pub name: Option<String>,
1784 #[serde(default, skip_serializing_if = "Option::is_none")]
1785 pub blocked_trackers: Option<bool>,
1786 #[serde(default, skip_serializing_if = "Option::is_none")]
1787 pub contacts: Option<Vec<Contact>>,
1788 #[serde(default, skip_serializing_if = "Option::is_none")]
1789 pub extenzions: Option<Vec<Extenzion>>,
1790 #[serde(default, skip_serializing_if = "Option::is_none")]
1791 pub folders: Option<Vec<Folder>>,
1792 #[serde(default, skip_serializing_if = "Option::is_none")]
1793 pub collections: Option<Vec<Collection>>,
1794 #[serde(default, skip_serializing_if = "Option::is_none")]
1795 pub workflows: Option<Vec<Workflow>>,
1796 #[serde(default, skip_serializing_if = "Option::is_none")]
1797 pub visible_entry_count: Option<i32>,
1798 #[serde(default, skip_serializing_if = "Option::is_none")]
1799 pub entry_kind: Option<String>,
1800 #[serde(default, skip_serializing_if = "Option::is_none")]
1801 pub addressed_contacts: Option<Vec<Contact>>,
1802 #[serde(default, skip_serializing_if = "Option::is_none")]
1803 pub app_bundle_url: Option<String>,
1804}
1805
1806impl Posting {
1807 pub fn is_topic(&self) -> bool {
1808 self.kind == "topic"
1809 }
1810
1811 pub fn is_bundle(&self) -> bool {
1812 self.kind == "bundle"
1813 }
1814
1815 pub fn is_entry(&self) -> bool {
1816 self.kind == "entry"
1817 }
1818}
1819
1820#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1822#[non_exhaustive]
1823pub struct PostingNote {
1824 #[serde(
1825 default,
1826 deserialize_with = "crate::types::null_as_default::deserialize"
1827 )]
1828 pub id: i64,
1829 #[serde(default, skip_serializing_if = "Option::is_none")]
1830 pub content: Option<String>,
1831}
1832
1833#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1835#[non_exhaustive]
1836pub struct Recording {
1837 #[serde(
1838 default,
1839 deserialize_with = "crate::types::null_as_default::deserialize"
1840 )]
1841 pub id: i64,
1842 #[serde(default, skip_serializing_if = "Option::is_none")]
1843 pub parent_id: Option<i64>,
1844 #[serde(default, skip_serializing_if = "Option::is_none")]
1845 pub title: Option<String>,
1846 #[serde(default, skip_serializing_if = "Option::is_none")]
1847 pub all_day: Option<bool>,
1848 #[serde(default, skip_serializing_if = "Option::is_none")]
1849 pub recurring: Option<bool>,
1850 #[serde(default, skip_serializing_if = "Option::is_none")]
1852 pub starts_at: Option<DateTime>,
1853 #[serde(default, skip_serializing_if = "Option::is_none")]
1855 pub ends_at: Option<DateTime>,
1856 #[serde(default, skip_serializing_if = "Option::is_none")]
1858 pub created_at: Option<DateTime>,
1859 #[serde(default, skip_serializing_if = "Option::is_none")]
1861 pub updated_at: Option<DateTime>,
1862 #[serde(
1866 default,
1867 deserialize_with = "crate::types::null_as_default::deserialize"
1868 )]
1869 pub r#type: String,
1870 #[serde(default, skip_serializing_if = "Option::is_none")]
1871 pub parent: Option<::std::boxed::Box<Recording>>,
1872 #[serde(default, skip_serializing_if = "Option::is_none")]
1873 pub starts_at_time_zone: Option<String>,
1874 #[serde(default, skip_serializing_if = "Option::is_none")]
1875 pub ends_at_time_zone: Option<String>,
1876 #[serde(default, skip_serializing_if = "Option::is_none")]
1877 pub reminders_label: Option<String>,
1878 #[serde(default, skip_serializing_if = "Option::is_none")]
1879 pub reminders: Option<Vec<Reminder>>,
1880 #[serde(default, skip_serializing_if = "Option::is_none")]
1882 pub completed_at: Option<DateTime>,
1883 #[serde(default, skip_serializing_if = "Option::is_none")]
1884 pub highlighted: Option<bool>,
1885 #[serde(default, skip_serializing_if = "Option::is_none")]
1886 pub recurrence_schedule: Option<RecurrenceSchedule>,
1887 #[serde(default, skip_serializing_if = "Option::is_none")]
1888 pub occurrences_url: Option<String>,
1889 #[serde(default, skip_serializing_if = "Option::is_none")]
1890 pub occurrence_id: Option<String>,
1891 #[serde(default, skip_serializing_if = "Option::is_none")]
1892 pub calendar: Option<Calendar>,
1893 #[serde(default, skip_serializing_if = "Option::is_none")]
1894 pub edit_url: Option<String>,
1895 #[serde(default, skip_serializing_if = "Option::is_none")]
1896 pub summary: Option<String>,
1897 #[serde(default, skip_serializing_if = "Option::is_none")]
1898 pub url: Option<String>,
1899 #[serde(default, skip_serializing_if = "Option::is_none")]
1900 pub location: Option<String>,
1901 #[serde(default, skip_serializing_if = "Option::is_none")]
1902 pub manage_attendance: Option<bool>,
1903 #[serde(default, skip_serializing_if = "Option::is_none")]
1904 pub attendance_status: Option<String>,
1905 #[serde(default, skip_serializing_if = "Option::is_none")]
1906 pub organizer: Option<Organizer>,
1907 #[serde(default, skip_serializing_if = "Option::is_none")]
1908 pub attendances: Option<Vec<Attendance>>,
1909 #[serde(default, skip_serializing_if = "Option::is_none")]
1910 pub attendances_summary: Option<String>,
1911 #[serde(default, skip_serializing_if = "Option::is_none")]
1912 pub description: Option<String>,
1913 #[serde(default, skip_serializing_if = "Option::is_none")]
1914 pub join_link: Option<JoinLink>,
1915 #[serde(default, skip_serializing_if = "Option::is_none")]
1916 pub attached_entry: Option<AttachedEntry>,
1917 #[serde(default, skip_serializing_if = "Option::is_none")]
1918 pub position: Option<i32>,
1919 #[serde(default, skip_serializing_if = "Option::is_none")]
1920 pub content: Option<String>,
1921 #[serde(default, skip_serializing_if = "Option::is_none")]
1924 pub content_html: Option<String>,
1925 #[serde(default, skip_serializing_if = "Option::is_none")]
1926 pub color: Option<String>,
1927 #[serde(default, skip_serializing_if = "Option::is_none")]
1928 pub icon: Option<String>,
1929 #[serde(default, skip_serializing_if = "Option::is_none")]
1930 pub days: Option<Vec<i32>>,
1931 #[serde(default, skip_serializing_if = "Option::is_none")]
1932 pub icon_url: Option<String>,
1933 #[serde(default, skip_serializing_if = "Option::is_none")]
1935 pub stopped_at: Option<DateTime>,
1936 #[serde(default, skip_serializing_if = "Option::is_none")]
1937 pub notes: Option<String>,
1938 #[serde(default, skip_serializing_if = "Option::is_none")]
1939 pub category: Option<String>,
1940 #[serde(default, skip_serializing_if = "Option::is_none")]
1941 pub label: Option<String>,
1942 #[serde(default, skip_serializing_if = "Option::is_none")]
1943 pub image_url: Option<String>,
1944}
1945
1946impl Recording {
1947 pub fn is_calendar_event(&self) -> bool {
1948 self.r#type == "Calendar::Event"
1949 }
1950
1951 pub fn is_calendar_todo(&self) -> bool {
1952 self.r#type == "Calendar::Todo"
1953 }
1954
1955 pub fn is_calendar_journal_entry(&self) -> bool {
1956 self.r#type == "Calendar::JournalEntry"
1957 }
1958
1959 pub fn is_calendar_habit(&self) -> bool {
1960 self.r#type == "Calendar::Habit"
1961 }
1962
1963 pub fn is_calendar_time_track(&self) -> bool {
1964 self.r#type == "Calendar::TimeTrack"
1965 }
1966
1967 pub fn is_calendar_countdown(&self) -> bool {
1968 self.r#type == "Calendar::Countdown"
1969 }
1970
1971 pub fn is_calendar_day_background(&self) -> bool {
1972 self.r#type == "Calendar::DayBackground"
1973 }
1974}
1975
1976#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1978#[non_exhaustive]
1979pub struct RecurrenceSchedule {
1980 #[serde(default, skip_serializing_if = "Option::is_none")]
1981 pub kind: Option<String>,
1982 #[serde(default, skip_serializing_if = "Option::is_none")]
1983 pub description: Option<String>,
1984 #[serde(default, skip_serializing_if = "Option::is_none")]
1985 pub preset: Option<bool>,
1986}
1987
1988#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1990#[non_exhaustive]
1991pub struct Reminder {
1992 #[serde(
1993 default,
1994 deserialize_with = "crate::types::null_as_default::deserialize"
1995 )]
1996 pub id: i64,
1997 #[serde(default, skip_serializing_if = "Option::is_none")]
1998 pub summary: Option<String>,
1999 #[serde(default, skip_serializing_if = "Option::is_none")]
2000 pub duration: Option<i32>,
2001 #[serde(default, skip_serializing_if = "Option::is_none")]
2002 pub default_duration: Option<bool>,
2003 #[serde(default, skip_serializing_if = "Option::is_none")]
2004 pub iso8601_duration: Option<String>,
2005 #[serde(default, skip_serializing_if = "Option::is_none")]
2006 pub delivered: Option<bool>,
2007 #[serde(default, skip_serializing_if = "Option::is_none")]
2009 pub remind_at: Option<DateTime>,
2010 #[serde(default, skip_serializing_if = "Option::is_none")]
2012 pub created_at: Option<DateTime>,
2013 #[serde(default, skip_serializing_if = "Option::is_none")]
2015 pub updated_at: Option<DateTime>,
2016 #[serde(default, skip_serializing_if = "Option::is_none")]
2017 pub label: Option<String>,
2018}
2019
2020#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2026pub struct ReplyMessagePayload {
2027 #[serde(default, skip_serializing_if = "Option::is_none")]
2028 pub subject: Option<String>,
2029 #[serde(
2030 default,
2031 deserialize_with = "crate::types::null_as_default::deserialize"
2032 )]
2033 pub content: String,
2034}
2035
2036pub type RevealContactResponseContent = Contact;
2037
2038#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2039pub struct SchedulePostingsBubbleUpRequestContent {
2040 #[serde(
2041 default,
2042 deserialize_with = "crate::types::null_as_default::deserialize"
2043 )]
2044 pub posting_ids: Vec<i64>,
2045 #[serde(
2046 default,
2047 deserialize_with = "crate::types::null_as_default::deserialize"
2048 )]
2049 pub slot: String,
2050 #[serde(default, skip_serializing_if = "Option::is_none")]
2051 pub date: Option<String>,
2052}
2053
2054#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2056#[non_exhaustive]
2057pub struct SearchFilterItem {
2058 #[serde(default, skip_serializing_if = "Option::is_none")]
2059 pub title: Option<String>,
2060 #[serde(default, skip_serializing_if = "Option::is_none")]
2061 pub value: Option<String>,
2062}
2063
2064#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2066#[non_exhaustive]
2067pub struct SearchMatch {
2068 #[serde(default)]
2069 pub topic: Topic,
2070 #[serde(default, skip_serializing_if = "Option::is_none")]
2071 pub posting_id: Option<i64>,
2072 #[serde(default, skip_serializing_if = "Option::is_none")]
2073 pub entries: Option<Vec<Entry>>,
2074}
2075
2076#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2078#[non_exhaustive]
2079pub struct Sender {
2080 #[serde(
2081 default,
2082 deserialize_with = "crate::types::null_as_default::deserialize"
2083 )]
2084 pub id: i64,
2085 #[serde(default, skip_serializing_if = "Option::is_none")]
2086 pub account_id: Option<i64>,
2087 #[serde(default, skip_serializing_if = "Option::is_none")]
2088 pub name: Option<String>,
2089 #[serde(default, skip_serializing_if = "Option::is_none")]
2090 pub email_address: Option<SensitiveString>,
2091 #[serde(default, skip_serializing_if = "Option::is_none")]
2092 pub avatar_url: Option<String>,
2093 #[serde(default, skip_serializing_if = "Option::is_none")]
2094 pub initials: Option<String>,
2095 #[serde(default, skip_serializing_if = "Option::is_none")]
2096 pub avatar_background_color: Option<String>,
2097 #[serde(default, skip_serializing_if = "Option::is_none")]
2098 pub contactable_type: Option<String>,
2099 #[serde(default, skip_serializing_if = "Option::is_none")]
2100 pub name_tag: Option<String>,
2101 #[serde(default, skip_serializing_if = "Option::is_none")]
2102 pub default: Option<bool>,
2103}
2104
2105#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2106#[non_exhaustive]
2107pub struct ServiceUnavailableErrorResponseContent {
2108 #[serde(
2109 default,
2110 deserialize_with = "crate::types::null_as_default::deserialize"
2111 )]
2112 pub message: String,
2113}
2114
2115#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2116#[non_exhaustive]
2117pub struct Snippet {
2118 #[serde(
2119 default,
2120 deserialize_with = "crate::types::null_as_default::deserialize"
2121 )]
2122 pub id: i64,
2123 #[serde(default, skip_serializing_if = "Option::is_none")]
2124 pub name: Option<String>,
2125 #[serde(default, skip_serializing_if = "Option::is_none")]
2127 pub content: Option<String>,
2128 #[serde(default, skip_serializing_if = "Option::is_none")]
2130 pub content_html: Option<String>,
2131 #[serde(default, skip_serializing_if = "Option::is_none")]
2133 pub created_at: Option<DateTime>,
2134 #[serde(default, skip_serializing_if = "Option::is_none")]
2136 pub updated_at: Option<DateTime>,
2137}
2138
2139pub type StartTimeTrackResponseContent = Recording;
2140
2141#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2143#[non_exhaustive]
2144pub struct Sticky {
2145 #[serde(
2146 default,
2147 deserialize_with = "crate::types::null_as_default::deserialize"
2148 )]
2149 pub id: i64,
2150 #[serde(default, skip_serializing_if = "Option::is_none")]
2151 pub body: Option<String>,
2152 #[serde(default, skip_serializing_if = "Option::is_none")]
2153 pub size: Option<String>,
2154 #[serde(default, skip_serializing_if = "Option::is_none")]
2156 pub created_at: Option<DateTime>,
2157 #[serde(default, skip_serializing_if = "Option::is_none")]
2159 pub updated_at: Option<DateTime>,
2160}
2161
2162#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2163pub struct StickyPayload {
2164 #[serde(default, skip_serializing_if = "Option::is_none")]
2165 pub body: Option<String>,
2166 #[serde(default, skip_serializing_if = "Option::is_none")]
2167 pub size: Option<String>,
2168}
2169
2170#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2172pub struct StickyRequestContent {
2173 #[serde(default)]
2174 pub sticky: StickyPayload,
2175}
2176
2177#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2178#[non_exhaustive]
2179pub struct TimeFormatPreference {
2180 #[serde(
2182 default,
2183 deserialize_with = "crate::types::null_as_default::deserialize"
2184 )]
2185 pub time_format: String,
2186}
2187
2188#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2189#[non_exhaustive]
2190pub struct TimeTrackCategory {
2191 #[serde(
2192 default,
2193 deserialize_with = "crate::types::null_as_default::deserialize"
2194 )]
2195 pub id: i64,
2196 #[serde(default, skip_serializing_if = "Option::is_none")]
2197 pub title: Option<String>,
2198 #[serde(default, skip_serializing_if = "Option::is_none")]
2200 pub created_at: Option<DateTime>,
2201 #[serde(default, skip_serializing_if = "Option::is_none")]
2203 pub updated_at: Option<DateTime>,
2204}
2205
2206#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2207pub struct TimeTrackRequestContent {
2208 pub starts_at: DateTime,
2209 pub ends_at: DateTime,
2210 #[serde(default, skip_serializing_if = "Option::is_none")]
2211 pub category_title: Option<String>,
2212 #[serde(default, skip_serializing_if = "Option::is_none")]
2213 pub notes: Option<String>,
2214}
2215
2216pub type ToggleCalendarResponseContent = CalendarSelection;
2217
2218#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2220#[non_exhaustive]
2221pub struct Topic {
2222 #[serde(
2223 default,
2224 deserialize_with = "crate::types::null_as_default::deserialize"
2225 )]
2226 pub id: i64,
2227 #[serde(default, skip_serializing_if = "Option::is_none")]
2228 pub name: Option<String>,
2229 #[serde(default, skip_serializing_if = "Option::is_none")]
2231 pub created_at: Option<DateTime>,
2232 #[serde(default, skip_serializing_if = "Option::is_none")]
2234 pub updated_at: Option<DateTime>,
2235 #[serde(default, skip_serializing_if = "Option::is_none")]
2237 pub active_at: Option<DateTime>,
2238 #[serde(default, skip_serializing_if = "Option::is_none")]
2239 pub status: Option<String>,
2240 #[serde(default, skip_serializing_if = "Option::is_none")]
2241 pub account_id: Option<i64>,
2242 #[serde(default, skip_serializing_if = "Option::is_none")]
2243 pub app_url: Option<String>,
2244 #[serde(default, skip_serializing_if = "Option::is_none")]
2245 pub creator: Option<Contact>,
2246 #[serde(default, skip_serializing_if = "Option::is_none")]
2247 pub contacts: Option<Vec<Contact>>,
2248 #[serde(default, skip_serializing_if = "Option::is_none")]
2249 pub extenzions: Option<Vec<Extenzion>>,
2250 #[serde(default, skip_serializing_if = "Option::is_none")]
2251 pub collections: Option<Vec<Collection>>,
2252 #[serde(default, skip_serializing_if = "Option::is_none")]
2253 pub is_forged_sender: Option<bool>,
2254 #[serde(default, skip_serializing_if = "Option::is_none")]
2255 pub latest_entry: Option<Entry>,
2256 #[serde(default, skip_serializing_if = "Option::is_none")]
2259 pub entries: Option<Vec<Entry>>,
2260}
2261
2262#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2264#[non_exhaustive]
2265pub struct TopicListResponse {
2266 #[serde(default, skip_serializing_if = "Option::is_none")]
2267 pub title: Option<String>,
2268 #[serde(default, skip_serializing_if = "Option::is_none")]
2269 pub description: Option<String>,
2270 #[serde(default, skip_serializing_if = "Option::is_none")]
2271 pub topics: Option<Vec<Topic>>,
2272}
2273
2274#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2275#[non_exhaustive]
2276pub struct TopicPublication {
2277 #[serde(
2278 default,
2279 deserialize_with = "crate::types::null_as_default::deserialize"
2280 )]
2281 pub published: bool,
2282 #[serde(default, skip_serializing_if = "Option::is_none")]
2284 pub url: Option<String>,
2285}
2286
2287#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2290#[non_exhaustive]
2291pub struct TrackedTime {
2292 #[serde(default, skip_serializing_if = "Option::is_none")]
2293 pub time_tracks: Option<Vec<Recording>>,
2294 #[serde(default, skip_serializing_if = "Option::is_none")]
2295 pub categories: Option<Vec<TimeTrackCategory>>,
2296}
2297
2298#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2299pub struct TrashPostingsRequestContent {
2300 #[serde(
2301 default,
2302 deserialize_with = "crate::types::null_as_default::deserialize"
2303 )]
2304 pub posting_ids: Vec<i64>,
2305 #[serde(default, skip_serializing_if = "Option::is_none")]
2308 pub remove_access: Option<String>,
2309}
2310
2311#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2312#[non_exhaustive]
2313pub struct UnauthorizedErrorResponseContent {
2314 #[serde(
2315 default,
2316 deserialize_with = "crate::types::null_as_default::deserialize"
2317 )]
2318 pub message: String,
2319}
2320
2321pub type UncompleteCalendarTodoResponseContent = Recording;
2322
2323pub type UncompleteHabitResponseContent = Recording;
2324
2325#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2328#[non_exhaustive]
2329pub struct UnprocessableEntityErrorResponseContent {
2330 #[serde(default, skip_serializing_if = "Option::is_none")]
2331 pub errors: Option<Vec<String>>,
2332 #[serde(default, skip_serializing_if = "Option::is_none")]
2333 pub message: Option<String>,
2334}
2335
2336#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2338pub struct UpdateCalendarTodoRequestContent {
2339 #[serde(default)]
2340 pub calendar_todo: CalendarTodoChanges,
2341}
2342
2343pub type UpdateCalendarTodoResponseContent = Recording;
2344
2345#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2347pub struct UpdateClearanceRequestContent {
2348 #[serde(
2349 default,
2350 deserialize_with = "crate::types::null_as_default::deserialize"
2351 )]
2352 pub status: String,
2353 #[serde(default, skip_serializing_if = "Option::is_none")]
2354 pub designation_box_id: Option<i64>,
2355 #[serde(default, skip_serializing_if = "Option::is_none")]
2356 pub spam: Option<bool>,
2357 #[serde(default, skip_serializing_if = "Option::is_none")]
2358 pub mark_topics_as_seen: Option<bool>,
2359}
2360
2361pub type UpdateClearanceResponseContent = Clearance;
2362
2363#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2365pub struct UpdateCollectionRequestContent {
2366 #[serde(default)]
2367 pub collection: CollectionPayload,
2368}
2369
2370#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2372pub struct UpdateContactClearanceRequestContent {
2373 #[serde(
2374 default,
2375 deserialize_with = "crate::types::null_as_default::deserialize"
2376 )]
2377 pub status: String,
2378}
2379
2380pub type UpdateContactNoteResponseContent = ContactNote;
2381
2382pub type UpdateContactResponseContent = Contact;
2383
2384#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2386pub struct UpdateFirstWeekDayRequestContent {
2387 #[serde(default)]
2388 pub identity_preference: FirstWeekDayParams,
2389}
2390
2391pub type UpdateFirstWeekDayResponseContent = FirstWeekDayPreference;
2392
2393pub type UpdateHabitResponseContent = Recording;
2394
2395#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2397pub struct UpdateJournalEntryRequestContent {
2398 #[serde(default)]
2399 pub calendar_journal_entry: JournalEntryPayload,
2400}
2401
2402pub type UpdateJournalEntryResponseContent = Recording;
2403
2404#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2405pub struct UpdateMyClearanceRequestContent {
2406 #[serde(
2407 default,
2408 deserialize_with = "crate::types::null_as_default::deserialize"
2409 )]
2410 pub status: String,
2411}
2412
2413pub type UpdateMyClearanceResponseContent = Clearance;
2414
2415pub type UpdateStickyResponseContent = Sticky;
2416
2417#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2418pub struct UpdateTimeFormatRequestContent {
2419 #[serde(
2420 default,
2421 deserialize_with = "crate::types::null_as_default::deserialize"
2422 )]
2423 pub twenty_four_hour_time_format: bool,
2424}
2425
2426pub type UpdateTimeFormatResponseContent = TimeFormatPreference;
2427
2428#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2429pub struct UpdateTimeTrackPayload {
2430 #[serde(default, skip_serializing_if = "Option::is_none")]
2433 pub title: Option<String>,
2434 #[serde(default, skip_serializing_if = "Option::is_none")]
2435 pub notes: Option<String>,
2436 #[serde(default, skip_serializing_if = "Option::is_none")]
2439 pub category: Option<String>,
2440 #[serde(default, skip_serializing_if = "Option::is_none")]
2445 pub category_title: Option<String>,
2446 #[serde(default, skip_serializing_if = "Option::is_none")]
2448 pub starts_at: Option<DateTime>,
2449 #[serde(default, skip_serializing_if = "Option::is_none")]
2451 pub ends_at: Option<DateTime>,
2452}
2453
2454#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2456pub struct UpdateTimeTrackRequestContent {
2457 #[serde(default)]
2458 pub calendar_time_track: UpdateTimeTrackPayload,
2459}
2460
2461pub type UpdateTimeTrackResponseContent = Recording;
2462
2463#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2465#[non_exhaustive]
2466pub struct UpdatesChannel {
2467 #[serde(default, skip_serializing_if = "Option::is_none")]
2468 pub signed_stream_name: Option<String>,
2469}
2470
2471#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2473#[non_exhaustive]
2474pub struct User {
2475 #[serde(
2476 default,
2477 deserialize_with = "crate::types::null_as_default::deserialize"
2478 )]
2479 pub id: i64,
2480 #[serde(default, skip_serializing_if = "Option::is_none")]
2481 pub account_id: Option<i64>,
2482 #[serde(default, skip_serializing_if = "Option::is_none")]
2483 pub account_purpose_icon_url: Option<String>,
2484 #[serde(default, skip_serializing_if = "Option::is_none")]
2485 pub contact: Option<Contact>,
2486 #[serde(default, skip_serializing_if = "Option::is_none")]
2487 pub external_accounts: Option<Vec<ExternalAccount>>,
2488 #[serde(default, skip_serializing_if = "Option::is_none")]
2489 pub auto_responder: Option<bool>,
2490}
2491
2492#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2494#[non_exhaustive]
2495pub struct Workflow {
2496 #[serde(
2497 default,
2498 deserialize_with = "crate::types::null_as_default::deserialize"
2499 )]
2500 pub id: i64,
2501 #[serde(default, skip_serializing_if = "Option::is_none")]
2502 pub name: Option<String>,
2503 #[serde(default, skip_serializing_if = "Option::is_none")]
2505 pub created_at: Option<DateTime>,
2506 #[serde(default, skip_serializing_if = "Option::is_none")]
2508 pub updated_at: Option<DateTime>,
2509 #[serde(default, skip_serializing_if = "Option::is_none")]
2510 pub app_url: Option<String>,
2511 #[serde(default, skip_serializing_if = "Option::is_none")]
2513 pub stages: Option<Vec<WorkflowStage>>,
2514}
2515
2516#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2517#[non_exhaustive]
2518pub struct WorkflowStage {
2519 #[serde(
2520 default,
2521 deserialize_with = "crate::types::null_as_default::deserialize"
2522 )]
2523 pub id: i64,
2524 #[serde(default, skip_serializing_if = "Option::is_none")]
2525 pub name: Option<String>,
2526}
2527
2528#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2529pub struct WorkflowStagingPayload {
2530 #[serde(
2531 default,
2532 deserialize_with = "crate::types::null_as_default::deserialize"
2533 )]
2534 pub workflow_stage_id: i64,
2535}