use crate::traits::UrlEncodedRequest;
use url_builder::URLBuilder;
#[derive(Default)]
pub struct MessageInformationRequest {
pub campaign_id: Option<i128>,
pub contacts_list: Option<i128>,
pub custom_campaign: Option<String>,
pub from: Option<String>,
pub from_domain: Option<String>,
pub from_id: Option<i128>,
pub from_ts: Option<String>,
pub from_type: Option<i64>,
pub is_deleted: Option<bool>,
pub is_newsletter_tool: Option<bool>,
pub is_starred: Option<bool>,
pub message_status: Option<i64>,
pub period: Option<String>,
pub to_ts: Option<String>,
pub limit: Option<i64>,
pub offset: Option<i64>,
pub count_only: Option<i64>,
pub sort: Option<String>,
}
impl UrlEncodedRequest for MessageInformationRequest {
fn add_parameters_to_url(&self, url_builder: &mut URLBuilder) {
if let Some(v) = self.campaign_id {
url_builder.add_param("CampaignID", &v.to_string());
}
if let Some(v) = self.contacts_list {
url_builder.add_param("ContactsList", &v.to_string());
}
if let Some(v) = &self.custom_campaign {
url_builder.add_param("CustomCampaign", v);
}
if let Some(v) = &self.from {
url_builder.add_param("From", v);
}
if let Some(v) = &self.from_domain {
url_builder.add_param("FromDomain", v);
}
if let Some(v) = self.from_id {
url_builder.add_param("FromID", &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.is_deleted {
url_builder.add_param("IsDeleted", &v.to_string());
}
if let Some(v) = self.is_newsletter_tool {
url_builder.add_param("IsNewsletterTool", &v.to_string());
}
if let Some(v) = self.is_starred {
url_builder.add_param("IsStarred", &v.to_string());
}
if let Some(v) = self.message_status {
url_builder.add_param("MessageStatus", &v.to_string());
}
if let Some(v) = &self.period {
url_builder.add_param("Period", v);
}
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);
}
}
}