trieve_client/models/
field_condition.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct FieldCondition {
15 #[serde(rename = "date_range", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
16 pub date_range: Option<Option<Box<models::DateRange>>>,
17 #[serde(rename = "field")]
19 pub field: String,
20 #[serde(rename = "geo_bounding_box", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub geo_bounding_box: Option<Option<Box<models::LocationBoundingBox>>>,
22 #[serde(rename = "geo_polygon", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub geo_polygon: Option<Option<Box<models::LocationPolygon>>>,
24 #[serde(rename = "geo_radius", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub geo_radius: Option<Option<Box<models::LocationRadius>>>,
26 #[serde(rename = "match_all", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub match_all: Option<Option<Vec<models::MatchCondition>>>,
29 #[serde(rename = "match_any", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub match_any: Option<Option<Vec<models::MatchCondition>>>,
32 #[serde(rename = "range", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33 pub range: Option<Option<Box<models::Range>>>,
34}
35
36impl FieldCondition {
37 pub fn new(field: String) -> FieldCondition {
38 FieldCondition {
39 date_range: None,
40 field,
41 geo_bounding_box: None,
42 geo_polygon: None,
43 geo_radius: None,
44 match_all: None,
45 match_any: None,
46 range: None,
47 }
48 }
49}
50