use crate::core;
use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Source {
#[serde(rename = "slice", default, skip_serializing_if = "Option::is_none")]
pub slice: Option<common::SlicedScroll>,
#[serde(rename = "remote", default, skip_serializing_if = "Option::is_none")]
pub remote: Option<core::reindex::RemoteSource>,
#[serde(rename = "sort", default, skip_serializing_if = "Option::is_none")]
pub sort: Option<common::Sort>,
#[serde(rename = "_source", default, skip_serializing_if = "Option::is_none")]
pub source: Option<common::Fields>, #[serde(rename = "index")]
pub index: common::Indices,
#[serde(rename = "query", default, skip_serializing_if = "Option::is_none")]
pub query: Option<crate::dsl::Query>, #[serde(rename = "size", default, skip_serializing_if = "Option::is_none")]
pub size: Option<u32>,
}
impl Source {
pub fn new(index: common::Indices) -> Source {
Source {
slice: None,
remote: None,
sort: None,
source: None,
index,
query: None,
size: None,
}
}
}