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 #[serde(default, skip_serializing_if = "Option::is_none")]
1484 pub received_via: Option<Vec<MessageReceivedVia>>,
1485}
1486
1487#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1491pub struct MessageAddressed {
1492 #[serde(default, skip_serializing_if = "Option::is_none")]
1493 pub directly: Option<Vec<String>>,
1494 #[serde(default, skip_serializing_if = "Option::is_none")]
1495 pub copied: Option<Vec<String>>,
1496 #[serde(default, skip_serializing_if = "Option::is_none")]
1497 pub blindcopied: Option<Vec<String>>,
1498}
1499
1500#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1502#[non_exhaustive]
1503pub struct MessageDraft {
1504 #[serde(default, skip_serializing_if = "Option::is_none")]
1505 pub url: Option<String>,
1506 #[serde(default, skip_serializing_if = "Option::is_none")]
1507 pub creator: Option<Contact>,
1508 #[serde(default, skip_serializing_if = "Option::is_none")]
1509 pub sender: Option<Contact>,
1510 #[serde(default, skip_serializing_if = "Option::is_none")]
1511 pub is_reply: Option<bool>,
1512 #[serde(default, skip_serializing_if = "Option::is_none")]
1513 pub subject: Option<String>,
1514 #[serde(default, skip_serializing_if = "Option::is_none")]
1515 pub content: Option<String>,
1516 #[serde(default, skip_serializing_if = "Option::is_none")]
1517 pub addressed: Option<Addressed>,
1518 #[serde(default, skip_serializing_if = "Option::is_none")]
1519 pub show_addressed_selector: Option<bool>,
1520 #[serde(default, skip_serializing_if = "Option::is_none")]
1521 pub posting: Option<MessagePostingContext>,
1522 #[serde(default, skip_serializing_if = "Option::is_none")]
1523 pub addressed_sender: Option<AddressedSender>,
1524}
1525
1526#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1529#[non_exhaustive]
1530pub struct MessageEditState {
1531 #[serde(
1532 default,
1533 deserialize_with = "crate::types::null_as_default::deserialize"
1534 )]
1535 pub id: i64,
1536 #[serde(default, skip_serializing_if = "Option::is_none")]
1538 pub created_at: Option<DateTime>,
1539 #[serde(default, skip_serializing_if = "Option::is_none")]
1541 pub updated_at: Option<DateTime>,
1542 #[serde(default, skip_serializing_if = "Option::is_none")]
1543 pub url: Option<String>,
1544 #[serde(default, skip_serializing_if = "Option::is_none")]
1545 pub creator: Option<Contact>,
1546 #[serde(default, skip_serializing_if = "Option::is_none")]
1547 pub sender: Option<Contact>,
1548 #[serde(default, skip_serializing_if = "Option::is_none")]
1549 pub is_reply: Option<bool>,
1550 #[serde(default, skip_serializing_if = "Option::is_none")]
1551 pub subject: Option<String>,
1552 #[serde(default, skip_serializing_if = "Option::is_none")]
1553 pub content: Option<String>,
1554 #[serde(default, skip_serializing_if = "Option::is_none")]
1555 pub addressed: Option<Addressed>,
1556 #[serde(default, skip_serializing_if = "Option::is_none")]
1557 pub show_addressed_selector: Option<bool>,
1558 #[serde(default, skip_serializing_if = "Option::is_none")]
1560 pub scheduled_delivery_at: Option<DateTime>,
1561 #[serde(default, skip_serializing_if = "Option::is_none")]
1562 pub posting: Option<MessagePostingContext>,
1563 #[serde(default, skip_serializing_if = "Option::is_none")]
1564 pub addressed_sender: Option<AddressedSender>,
1565}
1566
1567#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1568pub struct MessageEntryPayload {
1569 #[serde(default, skip_serializing_if = "Option::is_none")]
1570 pub addressed: Option<MessageAddressed>,
1571 #[serde(default, skip_serializing_if = "Option::is_none")]
1574 pub status: Option<String>,
1575 #[serde(default, skip_serializing_if = "Option::is_none")]
1579 pub scheduled_delivery: Option<String>,
1580 #[serde(default, skip_serializing_if = "Option::is_none")]
1583 pub scheduled_delivery_at_date: Option<String>,
1584 #[serde(default, skip_serializing_if = "Option::is_none")]
1587 pub scheduled_delivery_at_hour: Option<String>,
1588}
1589
1590#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1591pub struct MessagePayload {
1592 #[serde(
1593 default,
1594 deserialize_with = "crate::types::null_as_default::deserialize"
1595 )]
1596 pub subject: String,
1597 #[serde(
1598 default,
1599 deserialize_with = "crate::types::null_as_default::deserialize"
1600 )]
1601 pub content: String,
1602}
1603
1604#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1606#[non_exhaustive]
1607pub struct MessagePostingContext {
1608 #[serde(default, skip_serializing_if = "Option::is_none")]
1609 pub r#box: Option<String>,
1610}
1611
1612#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1614#[non_exhaustive]
1615pub struct MessageReceivedVia {
1616 #[serde(
1617 default,
1618 deserialize_with = "crate::types::null_as_default::deserialize"
1619 )]
1620 pub email_address: SensitiveString,
1621 #[serde(default, skip_serializing_if = "Option::is_none")]
1622 pub contact: Option<Contact>,
1623}
1624
1625#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1626pub struct MovePostingsRequestContent {
1627 #[serde(
1628 default,
1629 deserialize_with = "crate::types::null_as_default::deserialize"
1630 )]
1631 pub posting_ids: Vec<i64>,
1632 #[serde(
1633 default,
1634 deserialize_with = "crate::types::null_as_default::deserialize"
1635 )]
1636 pub box_id: i64,
1637}
1638
1639#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1641pub struct MoveStickyRequestContent {
1642 #[serde(
1643 default,
1644 deserialize_with = "crate::types::null_as_default::deserialize"
1645 )]
1646 pub id: i64,
1647 #[serde(
1648 default,
1649 deserialize_with = "crate::types::null_as_default::deserialize"
1650 )]
1651 pub position: i32,
1652}
1653
1654#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1655pub struct MoveTopicRequestContent {
1656 #[serde(
1657 default,
1658 deserialize_with = "crate::types::null_as_default::deserialize"
1659 )]
1660 pub box_id: i64,
1661}
1662
1663#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1664pub struct MoveWorkflowStagingRequestContent {
1665 #[serde(default)]
1666 pub workflow_staging: WorkflowStagingPayload,
1667}
1668
1669#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1671#[non_exhaustive]
1672pub struct NavigationIcon {
1673 #[serde(default, skip_serializing_if = "Option::is_none")]
1674 pub name: Option<String>,
1675 #[serde(default, skip_serializing_if = "Option::is_none")]
1676 pub android_url: Option<String>,
1677 #[serde(default, skip_serializing_if = "Option::is_none")]
1678 pub ios_url: Option<String>,
1679}
1680
1681#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1683#[non_exhaustive]
1684pub struct NavigationItem {
1685 #[serde(default, skip_serializing_if = "Option::is_none")]
1686 pub title: Option<String>,
1687 #[serde(default, skip_serializing_if = "Option::is_none")]
1688 pub app_url: Option<String>,
1689 #[serde(default, skip_serializing_if = "Option::is_none")]
1690 pub platform: Option<String>,
1691 #[serde(default, skip_serializing_if = "Option::is_none")]
1692 pub hotkey: Option<String>,
1693 #[serde(default, skip_serializing_if = "Option::is_none")]
1694 pub highlighted: Option<bool>,
1695 #[serde(default, skip_serializing_if = "Option::is_none")]
1696 pub icon: Option<NavigationIcon>,
1697 #[serde(default, skip_serializing_if = "Option::is_none")]
1698 pub menu_items: Option<Vec<NavigationItem>>,
1699}
1700
1701#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1703#[non_exhaustive]
1704pub struct NavigationResponse {
1705 #[serde(default, skip_serializing_if = "Option::is_none")]
1706 pub items: Option<Vec<NavigationItem>>,
1707 #[serde(default, skip_serializing_if = "Option::is_none")]
1708 pub hotkeys: Option<Vec<NavigationItem>>,
1709}
1710
1711pub type NewBulkReplyResponseContent = BulkReplyDraft;
1712
1713pub type NewEntryForwardResponseContent = MessageDraft;
1714
1715pub type NewEntryReplyResponseContent = MessageDraft;
1716
1717#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1718#[non_exhaustive]
1719pub struct NotFoundErrorResponseContent {
1720 #[serde(
1721 default,
1722 deserialize_with = "crate::types::null_as_default::deserialize"
1723 )]
1724 pub message: String,
1725}
1726
1727#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1729#[non_exhaustive]
1730pub struct Organizer {
1731 #[serde(default, skip_serializing_if = "Option::is_none")]
1732 pub email_address: Option<String>,
1733 #[serde(default, skip_serializing_if = "Option::is_none")]
1734 pub name: Option<String>,
1735}
1736
1737#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1739#[non_exhaustive]
1740pub struct Posting {
1741 #[serde(
1742 default,
1743 deserialize_with = "crate::types::null_as_default::deserialize"
1744 )]
1745 pub id: i64,
1746 #[serde(default, skip_serializing_if = "Option::is_none")]
1748 pub created_at: Option<DateTime>,
1749 #[serde(default, skip_serializing_if = "Option::is_none")]
1751 pub updated_at: Option<DateTime>,
1752 #[serde(default, skip_serializing_if = "Option::is_none")]
1754 pub observed_at: Option<DateTime>,
1755 #[serde(default, skip_serializing_if = "Option::is_none")]
1757 pub active_at: Option<DateTime>,
1758 #[serde(default, skip_serializing_if = "Option::is_none")]
1759 pub box_id: Option<i64>,
1760 #[serde(default, skip_serializing_if = "Option::is_none")]
1761 pub account_id: Option<i64>,
1762 #[serde(
1764 default,
1765 deserialize_with = "crate::types::null_as_default::deserialize"
1766 )]
1767 pub kind: String,
1768 #[serde(default, skip_serializing_if = "Option::is_none")]
1769 pub seen: Option<bool>,
1770 #[serde(default, skip_serializing_if = "Option::is_none")]
1771 pub bundled: Option<bool>,
1772 #[serde(default, skip_serializing_if = "Option::is_none")]
1773 pub muted: Option<bool>,
1774 #[serde(default, skip_serializing_if = "Option::is_none")]
1775 pub note: Option<PostingNote>,
1776 #[serde(default, skip_serializing_if = "Option::is_none")]
1777 pub preapproved_clearance: Option<bool>,
1778 #[serde(default, skip_serializing_if = "Option::is_none")]
1779 pub box_group_id: Option<i64>,
1780 #[serde(default, skip_serializing_if = "Option::is_none")]
1781 pub includes_attachments: Option<bool>,
1782 #[serde(default, skip_serializing_if = "Option::is_none")]
1783 pub includes_calendar_invites: Option<bool>,
1784 #[serde(default, skip_serializing_if = "Option::is_none")]
1785 pub bubbled_up: Option<bool>,
1786 #[serde(default, skip_serializing_if = "Option::is_none")]
1787 pub bubble_up_waiting_on: Option<bool>,
1788 #[serde(default, skip_serializing_if = "Option::is_none")]
1789 pub bubble_up_schedule: Option<BubbleUpSchedule>,
1790 #[serde(default, skip_serializing_if = "Option::is_none")]
1791 pub creator: Option<Contact>,
1792 #[serde(default, skip_serializing_if = "Option::is_none")]
1793 pub app_url: Option<String>,
1794 #[serde(default, skip_serializing_if = "Option::is_none")]
1795 pub summary: Option<String>,
1796 #[serde(default, skip_serializing_if = "Option::is_none")]
1797 pub alternative_sender_name: Option<String>,
1798 #[serde(default, skip_serializing_if = "Option::is_none")]
1799 pub name: Option<String>,
1800 #[serde(default, skip_serializing_if = "Option::is_none")]
1801 pub blocked_trackers: Option<bool>,
1802 #[serde(default, skip_serializing_if = "Option::is_none")]
1803 pub contacts: Option<Vec<Contact>>,
1804 #[serde(default, skip_serializing_if = "Option::is_none")]
1805 pub extenzions: Option<Vec<Extenzion>>,
1806 #[serde(default, skip_serializing_if = "Option::is_none")]
1807 pub folders: Option<Vec<Folder>>,
1808 #[serde(default, skip_serializing_if = "Option::is_none")]
1809 pub collections: Option<Vec<Collection>>,
1810 #[serde(default, skip_serializing_if = "Option::is_none")]
1811 pub workflows: Option<Vec<Workflow>>,
1812 #[serde(default, skip_serializing_if = "Option::is_none")]
1813 pub visible_entry_count: Option<i32>,
1814 #[serde(default, skip_serializing_if = "Option::is_none")]
1815 pub entry_kind: Option<String>,
1816 #[serde(default, skip_serializing_if = "Option::is_none")]
1817 pub addressed_contacts: Option<Vec<Contact>>,
1818 #[serde(default, skip_serializing_if = "Option::is_none")]
1819 pub app_bundle_url: Option<String>,
1820}
1821
1822impl Posting {
1823 pub fn is_topic(&self) -> bool {
1824 self.kind == "topic"
1825 }
1826
1827 pub fn is_bundle(&self) -> bool {
1828 self.kind == "bundle"
1829 }
1830
1831 pub fn is_entry(&self) -> bool {
1832 self.kind == "entry"
1833 }
1834}
1835
1836#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1838#[non_exhaustive]
1839pub struct PostingNote {
1840 #[serde(
1841 default,
1842 deserialize_with = "crate::types::null_as_default::deserialize"
1843 )]
1844 pub id: i64,
1845 #[serde(default, skip_serializing_if = "Option::is_none")]
1846 pub content: Option<String>,
1847}
1848
1849#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
1851#[non_exhaustive]
1852pub struct Recording {
1853 #[serde(
1854 default,
1855 deserialize_with = "crate::types::null_as_default::deserialize"
1856 )]
1857 pub id: i64,
1858 #[serde(default, skip_serializing_if = "Option::is_none")]
1859 pub parent_id: Option<i64>,
1860 #[serde(default, skip_serializing_if = "Option::is_none")]
1861 pub title: Option<String>,
1862 #[serde(default, skip_serializing_if = "Option::is_none")]
1863 pub all_day: Option<bool>,
1864 #[serde(default, skip_serializing_if = "Option::is_none")]
1865 pub recurring: Option<bool>,
1866 #[serde(default, skip_serializing_if = "Option::is_none")]
1868 pub starts_at: Option<DateTime>,
1869 #[serde(default, skip_serializing_if = "Option::is_none")]
1871 pub ends_at: Option<DateTime>,
1872 #[serde(default, skip_serializing_if = "Option::is_none")]
1874 pub created_at: Option<DateTime>,
1875 #[serde(default, skip_serializing_if = "Option::is_none")]
1877 pub updated_at: Option<DateTime>,
1878 #[serde(
1880 default,
1881 deserialize_with = "crate::types::null_as_default::deserialize"
1882 )]
1883 pub r#type: String,
1884 #[serde(default, skip_serializing_if = "Option::is_none")]
1885 pub parent: Option<::std::boxed::Box<Recording>>,
1886 #[serde(default, skip_serializing_if = "Option::is_none")]
1887 pub starts_at_time_zone: Option<String>,
1888 #[serde(default, skip_serializing_if = "Option::is_none")]
1889 pub ends_at_time_zone: Option<String>,
1890 #[serde(default, skip_serializing_if = "Option::is_none")]
1891 pub reminders_label: Option<String>,
1892 #[serde(default, skip_serializing_if = "Option::is_none")]
1893 pub reminders: Option<Vec<Reminder>>,
1894 #[serde(default, skip_serializing_if = "Option::is_none")]
1896 pub completed_at: Option<DateTime>,
1897 #[serde(default, skip_serializing_if = "Option::is_none")]
1898 pub highlighted: Option<bool>,
1899 #[serde(default, skip_serializing_if = "Option::is_none")]
1900 pub recurrence_schedule: Option<RecurrenceSchedule>,
1901 #[serde(default, skip_serializing_if = "Option::is_none")]
1902 pub occurrences_url: Option<String>,
1903 #[serde(default, skip_serializing_if = "Option::is_none")]
1904 pub occurrence_id: Option<String>,
1905 #[serde(default, skip_serializing_if = "Option::is_none")]
1906 pub calendar: Option<Calendar>,
1907 #[serde(default, skip_serializing_if = "Option::is_none")]
1908 pub edit_url: Option<String>,
1909 #[serde(default, skip_serializing_if = "Option::is_none")]
1910 pub summary: Option<String>,
1911 #[serde(default, skip_serializing_if = "Option::is_none")]
1912 pub url: Option<String>,
1913 #[serde(default, skip_serializing_if = "Option::is_none")]
1914 pub location: Option<String>,
1915 #[serde(default, skip_serializing_if = "Option::is_none")]
1916 pub manage_attendance: Option<bool>,
1917 #[serde(default, skip_serializing_if = "Option::is_none")]
1918 pub attendance_status: Option<String>,
1919 #[serde(default, skip_serializing_if = "Option::is_none")]
1920 pub organizer: Option<Organizer>,
1921 #[serde(default, skip_serializing_if = "Option::is_none")]
1922 pub attendances: Option<Vec<Attendance>>,
1923 #[serde(default, skip_serializing_if = "Option::is_none")]
1924 pub attendances_summary: Option<String>,
1925 #[serde(default, skip_serializing_if = "Option::is_none")]
1926 pub description: Option<String>,
1927 #[serde(default, skip_serializing_if = "Option::is_none")]
1928 pub join_link: Option<JoinLink>,
1929 #[serde(default, skip_serializing_if = "Option::is_none")]
1930 pub attached_entry: Option<AttachedEntry>,
1931 #[serde(default, skip_serializing_if = "Option::is_none")]
1932 pub position: Option<i32>,
1933 #[serde(default, skip_serializing_if = "Option::is_none")]
1934 pub content: Option<String>,
1935 #[serde(default, skip_serializing_if = "Option::is_none")]
1938 pub content_html: Option<String>,
1939 #[serde(default, skip_serializing_if = "Option::is_none")]
1940 pub color: Option<String>,
1941 #[serde(default, skip_serializing_if = "Option::is_none")]
1942 pub icon: Option<String>,
1943 #[serde(default, skip_serializing_if = "Option::is_none")]
1944 pub days: Option<Vec<i32>>,
1945 #[serde(default, skip_serializing_if = "Option::is_none")]
1946 pub icon_url: Option<String>,
1947 #[serde(default, skip_serializing_if = "Option::is_none")]
1949 pub stopped_at: Option<DateTime>,
1950 #[serde(default, skip_serializing_if = "Option::is_none")]
1951 pub notes: Option<String>,
1952 #[serde(default, skip_serializing_if = "Option::is_none")]
1954 pub category: Option<String>,
1955 #[serde(default, skip_serializing_if = "Option::is_none")]
1956 pub label: Option<String>,
1957 #[serde(default, skip_serializing_if = "Option::is_none")]
1958 pub image_url: Option<String>,
1959}
1960
1961impl Recording {
1962 pub fn is_calendar_event(&self) -> bool {
1963 matches!(self.r#type.as_str(), "CalendarEvent" | "Calendar::Event")
1964 }
1965
1966 pub fn is_calendar_todo(&self) -> bool {
1967 matches!(self.r#type.as_str(), "CalendarTodo" | "Calendar::Todo")
1968 }
1969
1970 pub fn is_calendar_journal_entry(&self) -> bool {
1971 matches!(
1972 self.r#type.as_str(),
1973 "CalendarJournalEntry" | "Calendar::JournalEntry"
1974 )
1975 }
1976
1977 pub fn is_calendar_habit(&self) -> bool {
1978 matches!(self.r#type.as_str(), "CalendarHabit" | "Calendar::Habit")
1979 }
1980
1981 pub fn is_calendar_time_track(&self) -> bool {
1982 matches!(
1983 self.r#type.as_str(),
1984 "CalendarTimeTrack" | "Calendar::TimeTrack"
1985 )
1986 }
1987
1988 pub fn is_calendar_countdown(&self) -> bool {
1989 matches!(
1990 self.r#type.as_str(),
1991 "CalendarCountdown" | "Calendar::Countdown"
1992 )
1993 }
1994
1995 pub fn is_calendar_day_background(&self) -> bool {
1996 matches!(
1997 self.r#type.as_str(),
1998 "CalendarDayBackground" | "Calendar::DayBackground"
1999 )
2000 }
2001}
2002
2003#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2005#[non_exhaustive]
2006pub struct RecurrenceSchedule {
2007 #[serde(default, skip_serializing_if = "Option::is_none")]
2008 pub kind: Option<String>,
2009 #[serde(default, skip_serializing_if = "Option::is_none")]
2010 pub description: Option<String>,
2011 #[serde(default, skip_serializing_if = "Option::is_none")]
2012 pub preset: Option<bool>,
2013}
2014
2015#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2017#[non_exhaustive]
2018pub struct Reminder {
2019 #[serde(
2020 default,
2021 deserialize_with = "crate::types::null_as_default::deserialize"
2022 )]
2023 pub id: i64,
2024 #[serde(default, skip_serializing_if = "Option::is_none")]
2025 pub summary: Option<String>,
2026 #[serde(default, skip_serializing_if = "Option::is_none")]
2027 pub duration: Option<i32>,
2028 #[serde(default, skip_serializing_if = "Option::is_none")]
2029 pub default_duration: Option<bool>,
2030 #[serde(default, skip_serializing_if = "Option::is_none")]
2031 pub iso8601_duration: Option<String>,
2032 #[serde(default, skip_serializing_if = "Option::is_none")]
2033 pub delivered: Option<bool>,
2034 #[serde(default, skip_serializing_if = "Option::is_none")]
2036 pub remind_at: Option<DateTime>,
2037 #[serde(default, skip_serializing_if = "Option::is_none")]
2039 pub created_at: Option<DateTime>,
2040 #[serde(default, skip_serializing_if = "Option::is_none")]
2042 pub updated_at: Option<DateTime>,
2043 #[serde(default, skip_serializing_if = "Option::is_none")]
2044 pub label: Option<String>,
2045}
2046
2047#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2053pub struct ReplyMessagePayload {
2054 #[serde(default, skip_serializing_if = "Option::is_none")]
2055 pub subject: Option<String>,
2056 #[serde(
2057 default,
2058 deserialize_with = "crate::types::null_as_default::deserialize"
2059 )]
2060 pub content: String,
2061}
2062
2063pub type RevealContactResponseContent = Contact;
2064
2065#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2066pub struct SchedulePostingsBubbleUpRequestContent {
2067 #[serde(
2068 default,
2069 deserialize_with = "crate::types::null_as_default::deserialize"
2070 )]
2071 pub posting_ids: Vec<i64>,
2072 #[serde(
2073 default,
2074 deserialize_with = "crate::types::null_as_default::deserialize"
2075 )]
2076 pub slot: String,
2077 #[serde(default, skip_serializing_if = "Option::is_none")]
2078 pub date: Option<String>,
2079}
2080
2081#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2083#[non_exhaustive]
2084pub struct SearchFilterItem {
2085 #[serde(default, skip_serializing_if = "Option::is_none")]
2086 pub title: Option<String>,
2087 #[serde(default, skip_serializing_if = "Option::is_none")]
2088 pub value: Option<String>,
2089}
2090
2091#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2093#[non_exhaustive]
2094pub struct SearchMatch {
2095 #[serde(default)]
2096 pub topic: Topic,
2097 #[serde(default, skip_serializing_if = "Option::is_none")]
2098 pub posting_id: Option<i64>,
2099 #[serde(default, skip_serializing_if = "Option::is_none")]
2100 pub entries: Option<Vec<Entry>>,
2101}
2102
2103#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2105#[non_exhaustive]
2106pub struct Sender {
2107 #[serde(
2108 default,
2109 deserialize_with = "crate::types::null_as_default::deserialize"
2110 )]
2111 pub id: i64,
2112 #[serde(default, skip_serializing_if = "Option::is_none")]
2113 pub account_id: Option<i64>,
2114 #[serde(default, skip_serializing_if = "Option::is_none")]
2115 pub name: Option<String>,
2116 #[serde(default, skip_serializing_if = "Option::is_none")]
2117 pub email_address: Option<SensitiveString>,
2118 #[serde(default, skip_serializing_if = "Option::is_none")]
2119 pub avatar_url: Option<String>,
2120 #[serde(default, skip_serializing_if = "Option::is_none")]
2121 pub initials: Option<String>,
2122 #[serde(default, skip_serializing_if = "Option::is_none")]
2123 pub avatar_background_color: Option<String>,
2124 #[serde(default, skip_serializing_if = "Option::is_none")]
2125 pub contactable_type: Option<String>,
2126 #[serde(default, skip_serializing_if = "Option::is_none")]
2127 pub name_tag: Option<String>,
2128 #[serde(default, skip_serializing_if = "Option::is_none")]
2129 pub default: Option<bool>,
2130}
2131
2132#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2133#[non_exhaustive]
2134pub struct ServiceUnavailableErrorResponseContent {
2135 #[serde(
2136 default,
2137 deserialize_with = "crate::types::null_as_default::deserialize"
2138 )]
2139 pub message: String,
2140}
2141
2142#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2143#[non_exhaustive]
2144pub struct Snippet {
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 name: Option<String>,
2152 #[serde(default, skip_serializing_if = "Option::is_none")]
2154 pub content: Option<String>,
2155 #[serde(default, skip_serializing_if = "Option::is_none")]
2157 pub content_html: Option<String>,
2158 #[serde(default, skip_serializing_if = "Option::is_none")]
2160 pub created_at: Option<DateTime>,
2161 #[serde(default, skip_serializing_if = "Option::is_none")]
2163 pub updated_at: Option<DateTime>,
2164}
2165
2166pub type StartTimeTrackResponseContent = Recording;
2167
2168#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2170#[non_exhaustive]
2171pub struct Sticky {
2172 #[serde(
2173 default,
2174 deserialize_with = "crate::types::null_as_default::deserialize"
2175 )]
2176 pub id: i64,
2177 #[serde(default, skip_serializing_if = "Option::is_none")]
2178 pub body: Option<String>,
2179 #[serde(default, skip_serializing_if = "Option::is_none")]
2180 pub size: Option<String>,
2181 #[serde(default, skip_serializing_if = "Option::is_none")]
2183 pub created_at: Option<DateTime>,
2184 #[serde(default, skip_serializing_if = "Option::is_none")]
2186 pub updated_at: Option<DateTime>,
2187}
2188
2189#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2190pub struct StickyPayload {
2191 #[serde(default, skip_serializing_if = "Option::is_none")]
2192 pub body: Option<String>,
2193 #[serde(default, skip_serializing_if = "Option::is_none")]
2194 pub size: Option<String>,
2195}
2196
2197#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2199pub struct StickyRequestContent {
2200 #[serde(default)]
2201 pub sticky: StickyPayload,
2202}
2203
2204#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2205#[non_exhaustive]
2206pub struct TimeFormatPreference {
2207 #[serde(
2209 default,
2210 deserialize_with = "crate::types::null_as_default::deserialize"
2211 )]
2212 pub time_format: String,
2213}
2214
2215#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2216#[non_exhaustive]
2217pub struct TimeTrackCategory {
2218 #[serde(
2219 default,
2220 deserialize_with = "crate::types::null_as_default::deserialize"
2221 )]
2222 pub id: i64,
2223 #[serde(default, skip_serializing_if = "Option::is_none")]
2224 pub title: Option<String>,
2225 #[serde(default, skip_serializing_if = "Option::is_none")]
2227 pub created_at: Option<DateTime>,
2228 #[serde(default, skip_serializing_if = "Option::is_none")]
2230 pub updated_at: Option<DateTime>,
2231}
2232
2233#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2234pub struct TimeTrackRequestContent {
2235 pub starts_at: DateTime,
2236 pub ends_at: DateTime,
2237 #[serde(default, skip_serializing_if = "Option::is_none")]
2238 pub category_title: Option<String>,
2239 #[serde(default, skip_serializing_if = "Option::is_none")]
2240 pub notes: Option<String>,
2241}
2242
2243pub type ToggleCalendarResponseContent = CalendarSelection;
2244
2245#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2247#[non_exhaustive]
2248pub struct Topic {
2249 #[serde(
2250 default,
2251 deserialize_with = "crate::types::null_as_default::deserialize"
2252 )]
2253 pub id: i64,
2254 #[serde(default, skip_serializing_if = "Option::is_none")]
2255 pub name: Option<String>,
2256 #[serde(default, skip_serializing_if = "Option::is_none")]
2258 pub created_at: Option<DateTime>,
2259 #[serde(default, skip_serializing_if = "Option::is_none")]
2261 pub updated_at: Option<DateTime>,
2262 #[serde(default, skip_serializing_if = "Option::is_none")]
2264 pub active_at: Option<DateTime>,
2265 #[serde(default, skip_serializing_if = "Option::is_none")]
2266 pub status: Option<String>,
2267 #[serde(default, skip_serializing_if = "Option::is_none")]
2268 pub account_id: Option<i64>,
2269 #[serde(default, skip_serializing_if = "Option::is_none")]
2270 pub app_url: Option<String>,
2271 #[serde(default, skip_serializing_if = "Option::is_none")]
2272 pub creator: Option<Contact>,
2273 #[serde(default, skip_serializing_if = "Option::is_none")]
2274 pub contacts: Option<Vec<Contact>>,
2275 #[serde(default, skip_serializing_if = "Option::is_none")]
2276 pub extenzions: Option<Vec<Extenzion>>,
2277 #[serde(default, skip_serializing_if = "Option::is_none")]
2278 pub collections: Option<Vec<Collection>>,
2279 #[serde(default, skip_serializing_if = "Option::is_none")]
2280 pub is_forged_sender: Option<bool>,
2281 #[serde(default, skip_serializing_if = "Option::is_none")]
2282 pub latest_entry: Option<Entry>,
2283 #[serde(default, skip_serializing_if = "Option::is_none")]
2286 pub entries: Option<Vec<Entry>>,
2287}
2288
2289#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2291#[non_exhaustive]
2292pub struct TopicListResponse {
2293 #[serde(default, skip_serializing_if = "Option::is_none")]
2294 pub title: Option<String>,
2295 #[serde(default, skip_serializing_if = "Option::is_none")]
2296 pub description: Option<String>,
2297 #[serde(default, skip_serializing_if = "Option::is_none")]
2298 pub topics: Option<Vec<Topic>>,
2299}
2300
2301#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2302#[non_exhaustive]
2303pub struct TopicPublication {
2304 #[serde(
2305 default,
2306 deserialize_with = "crate::types::null_as_default::deserialize"
2307 )]
2308 pub published: bool,
2309 #[serde(default, skip_serializing_if = "Option::is_none")]
2311 pub url: Option<String>,
2312}
2313
2314#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2317#[non_exhaustive]
2318pub struct TrackedTime {
2319 #[serde(default, skip_serializing_if = "Option::is_none")]
2320 pub time_tracks: Option<Vec<Recording>>,
2321 #[serde(default, skip_serializing_if = "Option::is_none")]
2322 pub categories: Option<Vec<TimeTrackCategory>>,
2323}
2324
2325#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2326pub struct TrashPostingsRequestContent {
2327 #[serde(
2328 default,
2329 deserialize_with = "crate::types::null_as_default::deserialize"
2330 )]
2331 pub posting_ids: Vec<i64>,
2332 #[serde(default, skip_serializing_if = "Option::is_none")]
2335 pub remove_access: Option<String>,
2336}
2337
2338#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2339#[non_exhaustive]
2340pub struct UnauthorizedErrorResponseContent {
2341 #[serde(
2342 default,
2343 deserialize_with = "crate::types::null_as_default::deserialize"
2344 )]
2345 pub message: String,
2346}
2347
2348pub type UncompleteCalendarTodoResponseContent = Recording;
2349
2350pub type UncompleteHabitResponseContent = Recording;
2351
2352#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2355#[non_exhaustive]
2356pub struct UnprocessableEntityErrorResponseContent {
2357 #[serde(default, skip_serializing_if = "Option::is_none")]
2358 pub errors: Option<Vec<String>>,
2359 #[serde(default, skip_serializing_if = "Option::is_none")]
2360 pub message: Option<String>,
2361}
2362
2363#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2365pub struct UpdateCalendarTodoRequestContent {
2366 #[serde(default)]
2367 pub calendar_todo: CalendarTodoChanges,
2368}
2369
2370pub type UpdateCalendarTodoResponseContent = Recording;
2371
2372#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2374pub struct UpdateClearanceRequestContent {
2375 #[serde(
2376 default,
2377 deserialize_with = "crate::types::null_as_default::deserialize"
2378 )]
2379 pub status: String,
2380 #[serde(default, skip_serializing_if = "Option::is_none")]
2381 pub designation_box_id: Option<i64>,
2382 #[serde(default, skip_serializing_if = "Option::is_none")]
2383 pub spam: Option<bool>,
2384 #[serde(default, skip_serializing_if = "Option::is_none")]
2385 pub mark_topics_as_seen: Option<bool>,
2386}
2387
2388pub type UpdateClearanceResponseContent = Clearance;
2389
2390#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2392pub struct UpdateCollectionRequestContent {
2393 #[serde(default)]
2394 pub collection: CollectionPayload,
2395}
2396
2397#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2399pub struct UpdateContactClearanceRequestContent {
2400 #[serde(
2401 default,
2402 deserialize_with = "crate::types::null_as_default::deserialize"
2403 )]
2404 pub status: String,
2405}
2406
2407pub type UpdateContactNoteResponseContent = ContactNote;
2408
2409pub type UpdateContactResponseContent = Contact;
2410
2411#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2413pub struct UpdateFirstWeekDayRequestContent {
2414 #[serde(default)]
2415 pub identity_preference: FirstWeekDayParams,
2416}
2417
2418pub type UpdateFirstWeekDayResponseContent = FirstWeekDayPreference;
2419
2420pub type UpdateHabitResponseContent = Recording;
2421
2422#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2424pub struct UpdateJournalEntryRequestContent {
2425 #[serde(default)]
2426 pub calendar_journal_entry: JournalEntryPayload,
2427}
2428
2429pub type UpdateJournalEntryResponseContent = Recording;
2430
2431#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2432pub struct UpdateMyClearanceRequestContent {
2433 #[serde(
2434 default,
2435 deserialize_with = "crate::types::null_as_default::deserialize"
2436 )]
2437 pub status: String,
2438}
2439
2440pub type UpdateMyClearanceResponseContent = Clearance;
2441
2442pub type UpdateStickyResponseContent = Sticky;
2443
2444#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2445pub struct UpdateTimeFormatRequestContent {
2446 #[serde(
2447 default,
2448 deserialize_with = "crate::types::null_as_default::deserialize"
2449 )]
2450 pub twenty_four_hour_time_format: bool,
2451}
2452
2453pub type UpdateTimeFormatResponseContent = TimeFormatPreference;
2454
2455#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2456pub struct UpdateTimeTrackPayload {
2457 #[serde(default, skip_serializing_if = "Option::is_none")]
2460 pub title: Option<String>,
2461 #[serde(default, skip_serializing_if = "Option::is_none")]
2462 pub notes: Option<String>,
2463 #[serde(default, skip_serializing_if = "Option::is_none")]
2466 pub category: Option<String>,
2467 #[serde(default, skip_serializing_if = "Option::is_none")]
2472 pub category_title: Option<String>,
2473 #[serde(default, skip_serializing_if = "Option::is_none")]
2475 pub starts_at: Option<DateTime>,
2476 #[serde(default, skip_serializing_if = "Option::is_none")]
2478 pub ends_at: Option<DateTime>,
2479}
2480
2481#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2483pub struct UpdateTimeTrackRequestContent {
2484 #[serde(default)]
2485 pub calendar_time_track: UpdateTimeTrackPayload,
2486}
2487
2488pub type UpdateTimeTrackResponseContent = Recording;
2489
2490#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2492#[non_exhaustive]
2493pub struct UpdatesChannel {
2494 #[serde(default, skip_serializing_if = "Option::is_none")]
2495 pub signed_stream_name: Option<String>,
2496}
2497
2498#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2500#[non_exhaustive]
2501pub struct User {
2502 #[serde(
2503 default,
2504 deserialize_with = "crate::types::null_as_default::deserialize"
2505 )]
2506 pub id: i64,
2507 #[serde(default, skip_serializing_if = "Option::is_none")]
2508 pub account_id: Option<i64>,
2509 #[serde(default, skip_serializing_if = "Option::is_none")]
2510 pub account_purpose_icon_url: Option<String>,
2511 #[serde(default, skip_serializing_if = "Option::is_none")]
2512 pub contact: Option<Contact>,
2513 #[serde(default, skip_serializing_if = "Option::is_none")]
2514 pub external_accounts: Option<Vec<ExternalAccount>>,
2515 #[serde(default, skip_serializing_if = "Option::is_none")]
2516 pub auto_responder: Option<bool>,
2517}
2518
2519#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2521#[non_exhaustive]
2522pub struct Workflow {
2523 #[serde(
2524 default,
2525 deserialize_with = "crate::types::null_as_default::deserialize"
2526 )]
2527 pub id: i64,
2528 #[serde(default, skip_serializing_if = "Option::is_none")]
2529 pub name: Option<String>,
2530 #[serde(default, skip_serializing_if = "Option::is_none")]
2532 pub created_at: Option<DateTime>,
2533 #[serde(default, skip_serializing_if = "Option::is_none")]
2535 pub updated_at: Option<DateTime>,
2536 #[serde(default, skip_serializing_if = "Option::is_none")]
2537 pub app_url: Option<String>,
2538 #[serde(default, skip_serializing_if = "Option::is_none")]
2540 pub stages: Option<Vec<WorkflowStage>>,
2541}
2542
2543#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2544#[non_exhaustive]
2545pub struct WorkflowStage {
2546 #[serde(
2547 default,
2548 deserialize_with = "crate::types::null_as_default::deserialize"
2549 )]
2550 pub id: i64,
2551 #[serde(default, skip_serializing_if = "Option::is_none")]
2552 pub name: Option<String>,
2553}
2554
2555#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
2556pub struct WorkflowStagingPayload {
2557 #[serde(
2558 default,
2559 deserialize_with = "crate::types::null_as_default::deserialize"
2560 )]
2561 pub workflow_stage_id: i64,
2562}