eventlib/dto/
object_for_events_page_request.rsuse chrono::NaiveDateTime;
use common::utils::serialize_option_naive_date;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct ObjectForEventsPageRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub start: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subjects: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub formats: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[serde(with = "serialize_option_naive_date")]
pub start_date: Option<NaiveDateTime>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[serde(with = "serialize_option_naive_date")]
pub end_date: Option<NaiveDateTime>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_my_organization_scheduled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_only_me_scheduled: Option<bool>,
}
impl ObjectForEventsPageRequest {
pub fn to_events_page(&self) -> ObjectForEventsPageRequest {
ObjectForEventsPageRequest {
search: self.search.clone(),
start: self.start,
subjects: self.subjects.clone(),
formats: self.formats.clone(),
statuses: self.statuses.clone(),
start_date: self.start_date,
end_date: self.end_date,
is_my_organization_scheduled: self.is_my_organization_scheduled,
is_only_me_scheduled: self.is_only_me_scheduled,
}
}
}