use std::collections::BTreeMap;
use serde::{Deserialize, Serialize};
use crate::types::{DateTime, SensitiveString};
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct AccessToken {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub description: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub permission: String,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<SensitiveString>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Account {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub slug: String,
pub created_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<User>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct AccountExport {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub download_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct AccountSettings {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub cards_count: i32,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_postpone_period_in_days: Option<i32>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Activity {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub action: String,
pub created_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub description: String,
#[serde(default)]
pub particulars: ActivityParticulars,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub eventable_type: String,
#[serde(default)]
pub eventable: ActivityEventable,
#[serde(default)]
pub board: Board,
#[serde(default)]
pub creator: User,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ActivityEventable {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description_html: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_attachments: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub closed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postponed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub golden: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_active_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 body: Option<RichTextBody>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub card: Option<CardRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub board: Option<Board>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column: Option<Column>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignees: Option<Vec<User>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_more_assignees: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comments_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reactions_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub steps: Option<Vec<Step>>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ActivityParticulars {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignee_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub old_board: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_board: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub old_title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AssignCardRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub assignee_id: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct BadRequestErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Board {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub all_access: bool,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_postpone_period_in_days: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_description_html: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ids: Option<Vec<String>>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<User>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct BoardAccessUser {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: SensitiveString,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub role: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub active: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub email_address: SensitiveString,
pub created_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub has_access: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub involvement: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct BoardAccesses {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub board_id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub all_access: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub users: Vec<BoardAccessUser>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct BulkReadNotificationsRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notification_ids: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Card {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub number: i32,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub title: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description_html: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub has_attachments: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub closed: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub postponed: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub golden: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_active_at: Option<DateTime>,
pub created_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub board: Option<Board>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column: Option<Column>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignees: Option<Vec<User>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_more_assignees: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comments_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reactions_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub steps: Option<Vec<Step>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CardRef {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Color {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub value: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Column {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<Color>,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cards_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Comment {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
pub created_at: DateTime,
pub updated_at: DateTime,
#[serde(default)]
pub body: RichTextBody,
#[serde(default)]
pub creator: User,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub card: Option<CardRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reactions_url: Option<String>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CompleteJoinRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: SensitiveString,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CompleteSignupRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub full_name: SensitiveString,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateAccessTokenRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub description: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub permission: String,
}
pub type CreateAccessTokenResponseContent = AccessToken;
pub type CreateAccountExportResponseContent = AccountExport;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateBoardRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub all_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_postpone_period_in_days: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_description: Option<String>,
}
pub type CreateBoardResponseContent = Board;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateCardReactionRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
}
pub type CreateCardReactionResponseContent = Reaction;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateCardRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub title: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub board_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignee_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_active_at: Option<DateTime>,
}
pub type CreateCardResponseContent = Card;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateColumnRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
}
pub type CreateColumnResponseContent = Column;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateCommentReactionRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
}
pub type CreateCommentReactionResponseContent = Reaction;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateCommentRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub body: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
}
pub type CreateCommentResponseContent = Comment;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateDirectUploadRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub filename: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content_type: 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,
}
pub type CreateDirectUploadResponseContent = DirectUpload;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreatePushSubscriptionRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub endpoint: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub p256dh_key: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub auth_key: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateSessionRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub email_address: SensitiveString,
}
pub type CreateSessionResponseContent = PendingAuthentication;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateStepRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub completed: Option<bool>,
}
pub type CreateStepResponseContent = Step;
pub type CreateUserDataExportResponseContent = DataExport;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CreateWebhookRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscribed_actions: Option<Vec<String>>,
}
pub type CreateWebhookResponseContent = Webhook;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct DataExport {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub download_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct DirectUpload {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub key: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub filename: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content_type: 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)]
pub direct_upload: DirectUploadMetadata,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct DirectUploadHeaders {
#[serde(rename = "Content_Type")]
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content_type: String,
#[serde(rename = "Content_MD5")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content_md5: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct DirectUploadMetadata {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default)]
pub headers: DirectUploadHeaders,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ForbiddenErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
pub type GetAccountExportResponseContent = AccountExport;
pub type GetAccountSettingsResponseContent = AccountSettings;
pub type GetBoardResponseContent = Board;
pub type GetCardResponseContent = Card;
pub type GetColumnResponseContent = Column;
pub type GetCommentResponseContent = Comment;
pub type GetJoinCodeResponseContent = JoinCode;
pub type GetMyIdentityResponseContent = Identity;
pub type GetNotificationSettingsResponseContent = NotificationSettings;
pub type GetNotificationTrayResponseContent = Vec<Notification>;
pub type GetStepResponseContent = Step;
pub type GetUserDataExportResponseContent = DataExport;
pub type GetUserResponseContent = User;
pub type GetWebhookResponseContent = Webhook;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Identity {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<SensitiveString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<SensitiveString>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub accounts: Vec<Account>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct InternalServerErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct JoinCode {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub code: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_limit: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
}
pub type ListAccessTokensResponseContent = Vec<AccessToken>;
pub type ListActivitiesResponseContent = Vec<Activity>;
pub type ListBoardAccessesResponseContent = BoardAccesses;
pub type ListBoardsResponseContent = Vec<Board>;
pub type ListCardReactionsResponseContent = Vec<Reaction>;
pub type ListCardsResponseContent = Vec<Card>;
pub type ListClosedCardsResponseContent = Vec<Card>;
pub type ListColumnCardsResponseContent = Vec<Card>;
pub type ListColumnsResponseContent = Vec<Column>;
pub type ListCommentReactionsResponseContent = Vec<Reaction>;
pub type ListCommentsResponseContent = Vec<Comment>;
pub type ListNotificationsResponseContent = Vec<Notification>;
pub type ListPinsResponseContent = Vec<Card>;
pub type ListPostponedCardsResponseContent = Vec<Card>;
pub type ListStepsResponseContent = Vec<Step>;
pub type ListStreamCardsResponseContent = Vec<Card>;
pub type ListTagsResponseContent = Vec<Tag>;
pub type ListUsersResponseContent = Vec<User>;
pub type ListWebhookDeliveriesResponseContent = Vec<WebhookDelivery>;
pub type ListWebhooksResponseContent = Vec<Webhook>;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MoveCardRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub board_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column_id: Option<String>,
}
pub type MoveCardResponseContent = Card;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct NotFoundErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Notification {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub unread_count: i32,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub read: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub read_at: Option<DateTime>,
pub created_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub source_type: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default)]
pub creator: User,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub card: Option<NotificationCard>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct NotificationCard {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub number: i32,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub title: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub board_name: Option<String>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub closed: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub postponed: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column: Option<Column>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct NotificationSettings {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub bundle_email_frequency: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct PendingAuthentication {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub pending_authentication_token: SensitiveString,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct RateLimitErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Reaction {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
#[serde(default)]
pub reacter: User,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RedeemMagicLinkRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub token: SensitiveString,
}
pub type RedeemMagicLinkResponseContent = SessionAuthorization;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RegisterDeviceRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub token: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub platform: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RequestEmailAddressChangeRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub email_address: SensitiveString,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct RichTextBody {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub plain_text: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub html: String,
}
pub type SearchCardsResponseContent = Vec<Card>;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct SessionAuthorization {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub session_token: SensitiveString,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub requires_signup_completion: bool,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Step {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub content: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub completed: bool,
}
pub type StringMap = BTreeMap<String, String>;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Tag {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub title: String,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TagCardRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub tag_title: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TriageCardRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column_id: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct UnauthorizedErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateAccountEntropyRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_postpone_period_in_days: Option<i32>,
}
pub type UpdateAccountEntropyResponseContent = AccountSettings;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateAccountSettingsRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateBoardEntropyRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_postpone_period_in_days: Option<i32>,
}
pub type UpdateBoardEntropyResponseContent = Board;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateBoardInvolvementRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub involvement: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateBoardRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub all_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_postpone_period_in_days: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ids: Option<Vec<String>>,
}
pub type UpdateBoardResponseContent = Board;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateCardRequestContent {
#[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 column_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<DateTime>,
}
pub type UpdateCardResponseContent = Card;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateColumnRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
}
pub type UpdateColumnResponseContent = Column;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateCommentRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub body: String,
}
pub type UpdateCommentResponseContent = Comment;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateJoinCodeRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_limit: Option<i32>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateMyTimezoneRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub timezone_name: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateNotificationSettingsRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bundle_email_frequency: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateStepRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub completed: Option<bool>,
}
pub type UpdateStepResponseContent = Step;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateUserRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
pub type UpdateUserResponseContent = User;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateUserRoleRequestContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub role: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateWebhookRequestContent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscribed_actions: Option<Vec<String>>,
}
pub type UpdateWebhookResponseContent = Webhook;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct User {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: SensitiveString,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub role: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub active: bool,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub email_address: SensitiveString,
pub created_at: DateTime,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ValidationErrorResponseContent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub message: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub errors: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Webhook {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub payload_url: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub subscribed_actions: Vec<String>,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub signing_secret: SensitiveString,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub active: bool,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub board: Option<Board>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct WebhookDelivery {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub state: String,
pub created_at: DateTime,
pub updated_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<WebhookDeliveryRequest>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub response: Option<WebhookDeliveryResponse>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event: Option<WebhookDeliveryEvent>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct WebhookDeliveryEvent {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub action: String,
pub created_at: DateTime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<WebhookDeliveryEventCreator>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eventable: Option<WebhookDeliveryEventEventable>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct WebhookDeliveryEventCreator {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub name: SensitiveString,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct WebhookDeliveryEventEventable {
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub r#type: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub id: String,
#[serde(
default,
deserialize_with = "crate::types::null_as_default::deserialize"
)]
pub url: String,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct WebhookDeliveryRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<StringMap>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct WebhookDeliveryResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}