spatio_sdk/models/
draft.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Draft {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "messageId")]
19 pub message_id: String,
20 #[serde(rename = "threadId", skip_serializing_if = "Option::is_none")]
21 pub thread_id: Option<String>,
22 #[serde(rename = "to", skip_serializing_if = "Option::is_none")]
23 pub to: Option<Vec<String>>,
24 #[serde(rename = "cc", skip_serializing_if = "Option::is_none")]
25 pub cc: Option<Vec<String>>,
26 #[serde(rename = "bcc", skip_serializing_if = "Option::is_none")]
27 pub bcc: Option<Vec<String>>,
28 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
29 pub subject: Option<String>,
30 #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
31 pub body: Option<String>,
32 #[serde(rename = "html")]
33 pub html: bool,
34 #[serde(rename = "attachments", skip_serializing_if = "Option::is_none")]
35 pub attachments: Option<Vec<models::AttachmentMeta>>,
36 #[serde(rename = "createdAt")]
37 pub created_at: chrono::DateTime<chrono::FixedOffset>,
38 #[serde(rename = "updatedAt")]
39 pub updated_at: chrono::DateTime<chrono::FixedOffset>,
40}
41
42impl Draft {
43 pub fn new(id: String, message_id: String, html: bool, created_at: chrono::DateTime<chrono::FixedOffset>, updated_at: chrono::DateTime<chrono::FixedOffset>) -> Draft {
44 Draft {
45 id,
46 message_id,
47 thread_id: None,
48 to: None,
49 cc: None,
50 bcc: None,
51 subject: None,
52 body: None,
53 html,
54 attachments: None,
55 created_at,
56 updated_at,
57 }
58 }
59}
60