use crate::core;
use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Operation { #[serde(rename = "_source", default, skip_serializing_if = "Option::is_none")]
pub source: Option<core::search::SourceConfig>,
#[serde(rename = "_index", default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
#[serde(rename = "routing", default, skip_serializing_if = "Option::is_none")]
pub routing: Option<String>,
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "stored_fields", default, skip_serializing_if = "Option::is_none")]
pub stored_fields: Option<common::Fields>,
#[serde(rename = "version", default, skip_serializing_if = "Option::is_none")]
pub version: Option<u32>,
#[serde(rename = "version_type", default, skip_serializing_if = "Option::is_none")]
pub version_type: Option<String>,
}
impl Operation {
pub fn new(id: String) -> Operation {
Operation {
source: None,
index: None,
routing: None,
id,
stored_fields: None,
version: None,
version_type: None,
}
}
}