65 lines
1.7 KiB
Rust
65 lines
1.7 KiB
Rust
pub mod get;
|
|
pub mod set;
|
|
|
|
use crate::core::set::list_not_set;
|
|
use crate::{email::EmailAddress, Get};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct Identity<State = Get> {
|
|
#[serde(skip)]
|
|
_state: std::marker::PhantomData<State>,
|
|
|
|
#[serde(rename = "id")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub id: Option<String>,
|
|
|
|
#[serde(rename = "name")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub name: Option<String>,
|
|
|
|
#[serde(rename = "email")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub email: Option<String>,
|
|
|
|
#[serde(rename = "replyTo")]
|
|
#[serde(skip_serializing_if = "list_not_set")]
|
|
pub reply_to: Option<Vec<EmailAddress>>,
|
|
|
|
#[serde(rename = "bcc")]
|
|
#[serde(skip_serializing_if = "list_not_set")]
|
|
pub bcc: Option<Vec<EmailAddress>>,
|
|
|
|
#[serde(rename = "textSignature")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub text_signature: Option<String>,
|
|
|
|
#[serde(rename = "htmlSignature")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub html_signature: Option<String>,
|
|
|
|
#[serde(rename = "mayDelete")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub may_delete: Option<bool>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub enum Property {
|
|
#[serde(rename = "id")]
|
|
Id,
|
|
#[serde(rename = "name")]
|
|
Name,
|
|
#[serde(rename = "email")]
|
|
Email,
|
|
#[serde(rename = "replyTo")]
|
|
ReplyTo,
|
|
#[serde(rename = "bcc")]
|
|
Bcc,
|
|
#[serde(rename = "textSignature")]
|
|
TextSignature,
|
|
#[serde(rename = "htmlSignature")]
|
|
HtmlSignature,
|
|
#[serde(rename = "mayDelete")]
|
|
MayDelete,
|
|
}
|