use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Match {
#[serde(rename = "query")]
pub query: String,
#[serde(rename = "operator", skip_serializing_if = "Option::is_none")]
pub operator: Option<Operator>,
#[serde(rename = "boost", skip_serializing_if = "Option::is_none")]
pub boost: Option<f64>,
}
impl Match {
pub fn new(query: String) -> Match {
Match {
query,
operator: None,
boost: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Operator {
#[serde(rename = "or")]
Or,
#[serde(rename = "and")]
And,
}
impl Default for Operator {
fn default() -> Operator {
Self::Or
}
}