use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SendAddressMessageRequest {
#[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
pub phone: Option<i32>,
#[serde(rename = "chatId", skip_serializing_if = "Option::is_none")]
pub chat_id: Option<String>,
#[serde(rename = "body")]
pub body: String,
#[serde(rename = "country", skip_serializing_if = "Option::is_none")]
pub country: Option<Country>,
#[serde(rename = "values", skip_serializing_if = "Option::is_none")]
pub values: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "saved_addresses", skip_serializing_if = "Option::is_none")]
pub saved_addresses: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
#[serde(rename = "validation_errors", skip_serializing_if = "Option::is_none")]
pub validation_errors: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "quotedMsgId", skip_serializing_if = "Option::is_none")]
pub quoted_msg_id: Option<String>,
}
impl SendAddressMessageRequest {
pub fn new(body: String) -> SendAddressMessageRequest {
SendAddressMessageRequest {
phone: None,
chat_id: None,
body,
country: None,
values: None,
saved_addresses: None,
validation_errors: None,
quoted_msg_id: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Country {
#[serde(rename = "IN")]
In,
#[serde(rename = "SG")]
Sg,
}
impl Default for Country {
fn default() -> Country {
Self::In
}
}