pipedrive_rs/models/
receive_message_request.rs1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ReceiveMessageRequest {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "channel_id")]
21 pub channel_id: String,
22 #[serde(rename = "sender_id")]
24 pub sender_id: String,
25 #[serde(rename = "conversation_id")]
27 pub conversation_id: String,
28 #[serde(rename = "message")]
30 pub message: String,
31 #[serde(rename = "status")]
33 pub status: Status,
34 #[serde(rename = "created_at")]
36 pub created_at: String,
37 #[serde(rename = "reply_by", skip_serializing_if = "Option::is_none")]
39 pub reply_by: Option<String>,
40 #[serde(rename = "conversation_link", skip_serializing_if = "Option::is_none")]
42 pub conversation_link: Option<String>,
43 #[serde(rename = "attachments", skip_serializing_if = "Option::is_none")]
45 pub attachments: Option<Vec<crate::models::ReceiveMessageRequestAttachmentsInner>>,
46}
47
48impl ReceiveMessageRequest {
49 pub fn new(id: String, channel_id: String, sender_id: String, conversation_id: String, message: String, status: Status, created_at: String) -> ReceiveMessageRequest {
50 ReceiveMessageRequest {
51 id,
52 channel_id,
53 sender_id,
54 conversation_id,
55 message,
56 status,
57 created_at,
58 reply_by: None,
59 conversation_link: None,
60 attachments: None,
61 }
62 }
63}
64
65#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
67pub enum Status {
68 #[serde(rename = "sent")]
69 Sent,
70 #[serde(rename = "delivered")]
71 Delivered,
72 #[serde(rename = "read")]
73 Read,
74 #[serde(rename = "failed")]
75 Failed,
76}
77
78impl Default for Status {
79 fn default() -> Status {
80 Self::Sent
81 }
82}
83