use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FieldCondition {
#[serde(rename = "date_range", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub date_range: Option<Option<Box<models::DateRange>>>,
#[serde(rename = "field")]
pub field: String,
#[serde(rename = "geo_bounding_box", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub geo_bounding_box: Option<Option<Box<models::LocationBoundingBox>>>,
#[serde(rename = "geo_polygon", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub geo_polygon: Option<Option<Box<models::LocationPolygon>>>,
#[serde(rename = "geo_radius", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub geo_radius: Option<Option<Box<models::LocationRadius>>>,
#[serde(rename = "match_all", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub match_all: Option<Option<Vec<models::MatchCondition>>>,
#[serde(rename = "match_any", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub match_any: Option<Option<Vec<models::MatchCondition>>>,
#[serde(rename = "range", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub range: Option<Option<Box<models::Range>>>,
}
impl FieldCondition {
pub fn new(field: String) -> FieldCondition {
FieldCondition {
date_range: None,
field,
geo_bounding_box: None,
geo_polygon: None,
geo_radius: None,
match_all: None,
match_any: None,
range: None,
}
}
}