use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CollectionResponse {
#[serde(rename = "default_sorting_field", skip_serializing_if = "Option::is_none")]
pub default_sorting_field: Option<String>,
#[serde(rename = "enable_nested_fields", skip_serializing_if = "Option::is_none")]
pub enable_nested_fields: Option<bool>,
#[serde(rename = "fields")]
pub fields: Vec<models::Field>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "symbols_to_index", skip_serializing_if = "Option::is_none")]
pub symbols_to_index: Option<Vec<String>>,
#[serde(rename = "token_separators", skip_serializing_if = "Option::is_none")]
pub token_separators: Option<Vec<String>>,
#[serde(rename = "voice_query_model", skip_serializing_if = "Option::is_none")]
pub voice_query_model: Option<Box<models::VoiceQueryModelCollectionConfig>>,
#[serde(rename = "created_at")]
pub created_at: i64,
#[serde(rename = "num_documents")]
pub num_documents: i64,
}
impl CollectionResponse {
pub fn new(fields: Vec<models::Field>, name: String, created_at: i64, num_documents: i64) -> CollectionResponse {
CollectionResponse {
default_sorting_field: None,
enable_nested_fields: None,
fields,
name,
symbols_to_index: None,
token_separators: None,
voice_query_model: None,
created_at,
num_documents,
}
}
}