use crate::models;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use serde_json::Value;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct QueryOperation {
#[serde(rename = "_name", skip_serializing_if = "Option::is_none")]
pub _name: Option<String>,
#[serde(flatten)]
pub additional_fields: HashMap<String, Value>,
}
impl QueryOperation {
pub fn new() -> QueryOperation {
QueryOperation {
_name: None,
additional_fields: HashMap::new(),
}
}
pub fn with_name(name: String) -> QueryOperation {
QueryOperation {
_name: Some(name),
additional_fields: HashMap::new(),
}
}
pub fn add_field(mut self, key: String, value: Value) -> Self {
self.additional_fields.insert(key, value);
self
}
}