use std::collections::BTreeMap;
use serde::{Deserialize, Serialize};
use crate::types::{Date, DateTime, SensitiveString};
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Account {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub purpose: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trial: Option<bool>,
#[serde(
default,
with = "crate::types::optional_date",
skip_serializing_if = "Option::is_none"
)]
pub trial_ends_on: Option<Date>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub burner: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub readonly: Option<bool>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AddPostingsToBoxGroupRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub box_id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub box_group_id: i64,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Addressed {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub directly: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub copied: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub blindcopied: Option<Vec<Contact>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AddressedSender {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub directly: Option<Vec<Contact>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AdvancedSearchFilters {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refine_in: Option<Vec<SearchFilterItem>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refine_dates: Option<Vec<SearchFilterItem>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refine_labels: Option<Vec<SearchFilterItem>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refine_attachments: Option<Vec<SearchFilterItem>>,
}
pub type AdvancedSearchResponseContent = AdvancedSearchResult;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AdvancedSearchResult {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub matches: Vec<SearchMatch>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AttachedEntry {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Attendance {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BadRequestErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Mailbox {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub kind: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signed_stream_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub posting_changes_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updates_channels: Option<Vec<UpdatesChannel>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BoxGroup {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BoxGroupWithPostings {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postings: Option<Vec<Posting>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BoxGroupsResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_groups: Option<Vec<BoxGroup>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BoxShowResponse {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub kind: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signed_stream_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub posting_changes_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updates_channels: Option<Vec<UpdatesChannel>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_history_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_incremental_sync_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postings: Option<Vec<Posting>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BubbleUpSchedule {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bubble_up_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub surprise_me: Option<bool>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkReplyDelivery {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub entries_count: i32,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub delayed: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub undo_send_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkReplyDraft {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub entries: Vec<BulkReplyEntry>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkReplyEntry {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub topic_id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub topic_name: String,
#[serde(default)]
pub addressed: Addressed,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkReplyMessagePayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkReplyRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub entry_ids: Vec<i64>,
#[serde(default)]
pub message: BulkReplyMessagePayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkUpdateClearancesRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub ids: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spam: Option<bool>,
}
pub type BulkUpdateClearancesResponseContent = ClearanceListResponse;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Calendar {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owned: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub personal: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recordings_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub occurrences_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner_email_address: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarDayListPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub days: Vec<CalendarPeriod>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarListPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendars: Option<Vec<CalendarWithRecordingChangesUrl>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_changes_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selected_calendar_ids: Option<Vec<i64>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarPeriod {
pub starts_at: DateTime,
pub ends_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub kind: String,
#[serde(default)]
pub recordings: CalendarRecordingsResponse,
}
pub type CalendarRecordingsResponse = BTreeMap<String, Vec<Recording>>;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarSelection {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub selected_calendar_ids: Vec<i64>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarTodoChanges {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub starts_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub focused: Option<bool>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarTodoPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub title: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub starts_at: Option<DateTime>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarWeekListPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub weeks: Vec<CalendarPeriod>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarWithRecordingChangesUrl {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recording_changes_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarYear {
pub starts_at: DateTime,
pub ends_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub kind: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub padding_days_count: i32,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub days: Vec<CalendarYearDay>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub spanned_events: Vec<Recording>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CalendarYearDay {
pub starts_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub backgrounded: bool,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Clearance {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub petitioner: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub most_recent_entry: Option<Entry>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ClearanceListResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clearances: Option<Vec<Clearance>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ClearanceSummary {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pending_clearances_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signed_stream_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clearances: Option<Vec<Clearance>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Clip {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entry_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub topic: Option<ClipTopic>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ClipTopic {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Collection {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CollectionPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CollectionWithPostings {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postings: Option<Vec<Posting>>,
}
pub type CompleteCalendarTodoResponseContent = Recording;
pub type CompleteHabitResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ConflictErrorResponseContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub errors: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conflicting_contact_ids: Option<Vec<i64>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Contact {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<SensitiveString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub initials: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_background_color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contactable_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name_tag: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ContactDetail {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<SensitiveString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub initials: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_background_color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contactable_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name_tag: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub edit_app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clearance: Option<Clearance>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aliases: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<Domain>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entries_title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postings: Option<Vec<Posting>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ContactNote {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub contact_id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub note: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub note_html: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ContactNotePayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub note: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ContactNoteRequestContent {
#[serde(default)]
pub contact: ContactNotePayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ContactPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<SensitiveString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alias_email_addresses: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ContactRequestContent {
#[serde(default)]
pub contact: ContactPayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateBoxDesignationRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub contact_id: i64,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateBoxGroupRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
}
pub type CreateBoxGroupResponseContent = BoxGroup;
pub type CreateBulkReplyResponseContent = BulkReplyDelivery;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateCalendarTodoRequestContent {
#[serde(default)]
pub calendar_todo: CalendarTodoPayload,
}
pub type CreateCalendarTodoResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateContactRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acting_user_id: Option<i64>,
#[serde(default)]
pub contact: ContactPayload,
}
pub type CreateContactResponseContent = Contact;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateDirectUploadRequestContent {
#[serde(default)]
pub blob: DirectUploadBlob,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateFolderForPostingsRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
#[serde(default)]
pub folder: FolderPayload,
}
pub type CreateHabitResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateMessageRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub acting_sender_id: i64,
#[serde(default)]
pub message: MessagePayload,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entry: Option<MessageEntryPayload>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateReplyRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub acting_sender_id: i64,
#[serde(default)]
pub message: ReplyMessagePayload,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entry: Option<MessageEntryPayload>,
}
pub type CreateStickyResponseContent = Sticky;
pub type CreateTimeTrackResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DeletedPosting {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted_at: Option<DateTime>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DirectUpload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub signed_id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub attachable_sgid: String,
#[serde(default)]
pub direct_upload: DirectUploadTarget,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DirectUploadBlob {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub filename: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub byte_size: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub checksum: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content_type: String,
}
pub type DirectUploadHeaders = BTreeMap<String, String>;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DirectUploadTarget {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<DirectUploadHeaders>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Domain {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DraftMessage {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub edit_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed_contacts: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_delivery_at: Option<DateTime>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Entry {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alternative_sender_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub topic_id: Option<i64>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Extenzion {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ExternalAccount {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact: Option<Contact>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FilePostingsRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub folder_id: i64,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FirstWeekDayParams {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub first_week_day: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FirstWeekDayPreference {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub first_week_day: i32,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Folder {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FolderPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FolderWithPostings {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postings: Option<Vec<Posting>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ForbiddenErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
pub type GetAdvancedSearchFiltersResponseContent = AdvancedSearchFilters;
pub type GetAsideboxResponseContent = BoxShowResponse;
pub type GetBoxGroupResponseContent = BoxGroupWithPostings;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct GetBoxPostingChangesResponseContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub added: Option<Vec<Posting>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<Vec<Posting>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<Vec<DeletedPosting>>,
}
pub type GetBoxResponseContent = BoxShowResponse;
pub type GetBubbleboxResponseContent = BoxShowResponse;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct GetBundleUnseenPostingsResponseContent {
#[serde(default)]
pub contact: Contact,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub postings: Vec<Posting>,
}
pub type GetCalendarDayResponseContent = CalendarPeriod;
pub type GetCalendarRecordingsResponseContent = CalendarRecordingsResponse;
pub type GetCalendarWeekResponseContent = CalendarPeriod;
pub type GetCalendarYearResponseContent = CalendarYear;
pub type GetClearancesResponseContent = ClearanceSummary;
pub type GetCollectionResponseContent = CollectionWithPostings;
pub type GetContactNoteResponseContent = ContactNote;
pub type GetContactResponseContent = ContactDetail;
pub type GetEverythingTopicsResponseContent = TopicListResponse;
pub type GetFeedboxResponseContent = BoxShowResponse;
pub type GetFolderResponseContent = FolderWithPostings;
pub type GetIdentityResponseContent = Identity;
pub type GetImboxResponseContent = BoxShowResponse;
pub type GetImboxSeenResponseContent = BoxShowResponse;
pub type GetJournalEntryResponseContent = Recording;
pub type GetLaterboxResponseContent = BoxShowResponse;
pub type GetMessageEditResponseContent = MessageEditState;
pub type GetMessageResponseContent = Message;
pub type GetMyClearancesResponseContent = ClearanceListResponse;
pub type GetNavigationResponseContent = NavigationResponse;
pub type GetOngoingTimeTrackResponseContent = Recording;
pub type GetSentTopicsResponseContent = TopicListResponse;
pub type GetSpamTopicsResponseContent = TopicListResponse;
pub type GetTopicEntriesResponseContent = Vec<Entry>;
pub type GetTopicPublicationResponseContent = TopicPublication;
pub type GetTopicResponseContent = Topic;
pub type GetTrailboxResponseContent = BoxShowResponse;
pub type GetTrashTopicsResponseContent = TopicListResponse;
pub type GetWorkflowResponseContent = Workflow;
pub type GetWorkflowStageOutputPayload = String;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct HabitPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days: Option<Vec<i32>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct HabitRequestContent {
#[serde(default)]
pub calendar_habit: HabitPayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Identity {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_zone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_zone_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_zone_offset: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_time_zone: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub first_week_day: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub primary_contact: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub all_users: Option<Vec<User>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accounts: Option<Vec<Account>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub senders: Option<Vec<Sender>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct InternalServerErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct JoinLink {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct JournalEntryPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
}
pub type ListBoxGroupsResponseContent = BoxGroupsResponse;
pub type ListBoxesResponseContent = Vec<Mailbox>;
pub type ListCalendarDaysResponseContent = CalendarDayListPayload;
pub type ListCalendarWeeksResponseContent = CalendarWeekListPayload;
pub type ListCalendarsResponseContent = CalendarListPayload;
pub type ListClipsResponseContent = Vec<Clip>;
pub type ListCollectionsResponseContent = Vec<Collection>;
pub type ListContactsResponseContent = Vec<Contact>;
pub type ListDraftsResponseContent = Vec<DraftMessage>;
pub type ListJournalEntriesResponseContent = Vec<Recording>;
pub type ListSnippetsResponseContent = Vec<Snippet>;
pub type ListStickiesResponseContent = Vec<Sticky>;
pub type ListTimeTrackCategoriesResponseContent = Vec<TimeTrackCategory>;
pub type ListTimeTracksResponseContent = TrackedTime;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MarkPostingsRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Message {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sender: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_reply: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed: Option<Addressed>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_addressed_selector: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_delivery_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub posting: Option<MessagePostingContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed_sender: Option<AddressedSender>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MessageAddressed {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub directly: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub copied: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub blindcopied: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MessageDraft {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sender: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_reply: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed: Option<Addressed>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_addressed_selector: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub posting: Option<MessagePostingContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed_sender: Option<AddressedSender>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MessageEditState {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sender: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_reply: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed: Option<Addressed>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_addressed_selector: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_delivery_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub posting: Option<MessagePostingContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed_sender: Option<AddressedSender>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MessageEntryPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed: Option<MessageAddressed>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_delivery: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_delivery_at_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_delivery_at_hour: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MessagePayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub subject: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MessagePostingContext {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#box: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MovePostingsRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub box_id: i64,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MoveStickyRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub position: i32,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MoveTopicRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub box_id: i64,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MoveWorkflowStagingRequestContent {
#[serde(default)]
pub workflow_staging: WorkflowStagingPayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct NavigationIcon {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub android_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ios_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct NavigationItem {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hotkey: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub highlighted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<NavigationIcon>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub menu_items: Option<Vec<NavigationItem>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct NavigationResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<NavigationItem>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hotkeys: Option<Vec<NavigationItem>>,
}
pub type NewBulkReplyResponseContent = BulkReplyDraft;
pub type NewEntryForwardResponseContent = MessageDraft;
pub type NewEntryReplyResponseContent = MessageDraft;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct NotFoundErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Organizer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Posting {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub observed_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub kind: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub seen: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bundled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub muted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub note: Option<PostingNote>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub preapproved_clearance: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_group_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub includes_attachments: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub includes_calendar_invites: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bubbled_up: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bubble_up_waiting_on: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bubble_up_schedule: Option<BubbleUpSchedule>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alternative_sender_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub blocked_trackers: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contacts: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extenzions: Option<Vec<Extenzion>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folders: Option<Vec<Folder>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub collections: Option<Vec<Collection>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub workflows: Option<Vec<Workflow>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub visible_entry_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entry_kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub addressed_contacts: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_bundle_url: Option<String>,
}
impl Posting {
pub fn is_topic(&self) -> bool {
self.kind == "topic"
}
pub fn is_bundle(&self) -> bool {
self.kind == "bundle"
}
pub fn is_entry(&self) -> bool {
self.kind == "entry"
}
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct PostingNote {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Recording {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub all_day: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurring: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub starts_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ends_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub r#type: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<::std::boxed::Box<Recording>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub starts_at_time_zone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ends_at_time_zone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reminders_label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reminders: Option<Vec<Reminder>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub completed_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub highlighted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence_schedule: Option<RecurrenceSchedule>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub occurrences_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub occurrence_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub edit_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub manage_attendance: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attendance_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizer: Option<Organizer>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attendances: Option<Vec<Attendance>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attendances_summary: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub join_link: Option<JoinLink>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attached_entry: Option<AttachedEntry>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub position: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content_html: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days: Option<Vec<i32>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stopped_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notes: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
}
impl Recording {
pub fn is_calendar_event(&self) -> bool {
self.r#type == "Calendar::Event"
}
pub fn is_calendar_todo(&self) -> bool {
self.r#type == "Calendar::Todo"
}
pub fn is_calendar_journal_entry(&self) -> bool {
self.r#type == "Calendar::JournalEntry"
}
pub fn is_calendar_habit(&self) -> bool {
self.r#type == "Calendar::Habit"
}
pub fn is_calendar_time_track(&self) -> bool {
self.r#type == "Calendar::TimeTrack"
}
pub fn is_calendar_countdown(&self) -> bool {
self.r#type == "Calendar::Countdown"
}
pub fn is_calendar_day_background(&self) -> bool {
self.r#type == "Calendar::DayBackground"
}
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RecurrenceSchedule {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub preset: Option<bool>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Reminder {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_duration: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iso8601_duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delivered: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remind_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ReplyMessagePayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
}
pub type RevealContactResponseContent = Contact;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SchedulePostingsBubbleUpRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub slot: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SearchFilterItem {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SearchMatch {
#[serde(default)]
pub topic: Topic,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub posting_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entries: Option<Vec<Entry>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Sender {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<SensitiveString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub initials: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_background_color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contactable_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name_tag: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ServiceUnavailableErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Snippet {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content_html: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
}
pub type StartTimeTrackResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Sticky {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct StickyPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct StickyRequestContent {
#[serde(default)]
pub sticky: StickyPayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TimeFormatPreference {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub time_format: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TimeTrackCategory {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TimeTrackRequestContent {
pub starts_at: DateTime,
pub ends_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notes: Option<String>,
}
pub type ToggleCalendarResponseContent = CalendarSelection;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Topic {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contacts: Option<Vec<Contact>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extenzions: Option<Vec<Extenzion>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub collections: Option<Vec<Collection>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_forged_sender: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub latest_entry: Option<Entry>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entries: Option<Vec<Entry>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TopicListResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub topics: Option<Vec<Topic>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TopicPublication {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub published: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TrackedTime {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_tracks: Option<Vec<Recording>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub categories: Option<Vec<TimeTrackCategory>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TrashPostingsRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub posting_ids: Vec<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remove_access: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UnauthorizedErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
pub type UncompleteCalendarTodoResponseContent = Recording;
pub type UncompleteHabitResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UnprocessableEntityErrorResponseContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub errors: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateCalendarTodoRequestContent {
#[serde(default)]
pub calendar_todo: CalendarTodoChanges,
}
pub type UpdateCalendarTodoResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateClearanceRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub designation_box_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spam: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mark_topics_as_seen: Option<bool>,
}
pub type UpdateClearanceResponseContent = Clearance;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateCollectionRequestContent {
#[serde(default)]
pub collection: CollectionPayload,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateContactClearanceRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
}
pub type UpdateContactNoteResponseContent = ContactNote;
pub type UpdateContactResponseContent = Contact;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateFirstWeekDayRequestContent {
#[serde(default)]
pub identity_preference: FirstWeekDayParams,
}
pub type UpdateFirstWeekDayResponseContent = FirstWeekDayPreference;
pub type UpdateHabitResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateJournalEntryRequestContent {
#[serde(default)]
pub calendar_journal_entry: JournalEntryPayload,
}
pub type UpdateJournalEntryResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateMyClearanceRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
}
pub type UpdateMyClearanceResponseContent = Clearance;
pub type UpdateStickyResponseContent = Sticky;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateTimeFormatRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub twenty_four_hour_time_format: bool,
}
pub type UpdateTimeFormatResponseContent = TimeFormatPreference;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateTimeTrackPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notes: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub starts_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ends_at: Option<DateTime>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateTimeTrackRequestContent {
#[serde(default)]
pub calendar_time_track: UpdateTimeTrackPayload,
}
pub type UpdateTimeTrackResponseContent = Recording;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdatesChannel {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signed_stream_name: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct User {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_purpose_icon_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact: Option<Contact>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_accounts: Option<Vec<ExternalAccount>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_responder: Option<bool>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Workflow {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stages: Option<Vec<WorkflowStage>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct WorkflowStage {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct WorkflowStagingPayload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub workflow_stage_id: i64,
}