postmasterlib/dto/
experiment_event.rsuse chrono::NaiveDateTime;
use common::enums::r_status::RStatus;
use serde::{Deserialize, Serialize};
use serde_json;
use uuid::Uuid;
use crate::jsonb::section::Section;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct ExperimentEvent {
pub title: String,
pub event_date: NaiveDateTime,
#[serde(skip_serializing_if = "Option::is_none")]
pub date_end: Option<NaiveDateTime>,
#[serde(skip_serializing_if = "Option::is_none")]
pub capacity: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fee: Option<f32>,
pub latitude: f64,
pub longitude: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub cancel_registration: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub multiple_tickets: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updt: Option<NaiveDateTime>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ver: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
pub uuid: Uuid,
#[serde(skip_serializing_if = "Option::is_none")]
pub experiment: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub organization: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub organizer: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub chat: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updu: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub latitude_meeting_place: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub longitude_meeting_place: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subjects: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub years: Option<Vec<i32>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub event_tasks: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub award_stuffs: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sections: Option<diesel_json::Json<Vec<Section>>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub main_picture: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub privacy: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scenario_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub type_of_meeting_place: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_street: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_suburb: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_postcode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_instructions: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub meeting_place_coincides: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_street_meeting_place: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub addr_instructions_meeting_place: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub format_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub place_type_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub privacy_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scenario_type_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub type_of_meeting_place_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_free: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub registration_confirmation: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub locate_position: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rstatus: Option<RStatus>,
}