use crate::traits::UrlEncodedRequest;
use url_builder::URLBuilder;
#[derive(Default)]
pub struct MessageRequest {
pub campaign: Option<i128>,
pub contact: Option<i128>,
pub custom_id: Option<String>,
pub destination: Option<i128>,
pub from_ts: Option<String>,
pub from_type: Option<i64>,
pub message_state: Option<i64>,
pub message_status: Option<i64>,
pub plan_subscription: Option<i128>,
pub sender_id: Option<i128>,
pub show_contact_alt: Option<bool>,
pub show_custom_id: Option<bool>,
pub show_subject: Option<bool>,
pub to_ts: Option<String>,
pub limit: Option<i64>,
pub offset: Option<i64>,
pub count_only: Option<i8>,
pub sort: Option<String>,
}
impl UrlEncodedRequest for MessageRequest {
fn add_parameters_to_url(&self, url_builder: &mut URLBuilder) {
if let Some(v) = self.campaign {
url_builder.add_param("Campaign", &v.to_string());
}
if let Some(v) = self.contact {
url_builder.add_param("Contact", &v.to_string());
}
if let Some(v) = &self.custom_id {
url_builder.add_param("CustomID", v);
}
if let Some(v) = self.destination {
url_builder.add_param("Destination", &v.to_string());
}
if let Some(v) = &self.from_ts {
url_builder.add_param("FromTS", v);
}
if let Some(v) = self.from_type {
url_builder.add_param("FromType", &v.to_string());
}
if let Some(v) = self.message_state {
url_builder.add_param("MessageState", &v.to_string());
}
if let Some(v) = self.message_status {
url_builder.add_param("MessageStatus", &v.to_string());
}
if let Some(v) = self.plan_subscription {
url_builder.add_param("PlanSubscription", &v.to_string());
}
if let Some(v) = self.sender_id {
url_builder.add_param("SenderID", &v.to_string());
}
if let Some(v) = self.show_contact_alt {
url_builder.add_param("ShowContactAlt", &v.to_string());
}
if let Some(v) = self.show_custom_id {
url_builder.add_param("ShowCustomID", &v.to_string());
}
if let Some(v) = self.show_subject {
url_builder.add_param("ShowSubject", &v.to_string());
}
if let Some(v) = &self.to_ts {
url_builder.add_param("ToTS", v);
}
if let Some(v) = self.limit {
url_builder.add_param("Limit", &v.to_string());
}
if let Some(v) = self.offset {
url_builder.add_param("Offset", &v.to_string());
}
if let Some(v) = self.count_only {
url_builder.add_param("countOnly", &v.to_string());
}
if let Some(v) = &self.sort {
url_builder.add_param("Sort", v);
}
}
}