use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FieldCapability { #[serde(rename = "aggregatable")]
pub aggregatable: bool, #[serde(rename = "non_searchable_indices", default, skip_serializing_if = "Option::is_none")]
pub non_searchable_indices: Option<common::Indices>, #[serde(rename = "indices", default, skip_serializing_if = "Option::is_none")]
pub indices: Option<common::Indices>, #[serde(rename = "searchable")]
pub searchable: bool, #[serde(rename = "metadata_field", default, skip_serializing_if = "Option::is_none")]
pub metadata_field: Option<bool>,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "meta", default, skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>, #[serde(rename = "non_aggregatable_indices", default, skip_serializing_if = "Option::is_none")]
pub non_aggregatable_indices: Option<common::Indices>,
}
impl FieldCapability {
pub fn new(aggregatable: bool, searchable: bool, r#type: String) -> FieldCapability {
FieldCapability {
aggregatable,
non_searchable_indices: None,
indices: None,
searchable,
metadata_field: None,
r#type,
meta: None,
non_aggregatable_indices: None,
}
}
}