use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TriggerOperator {
#[serde(rename = "EQ")]
Eq,
#[serde(rename = "NEQ")]
Neq,
#[serde(rename = "GT")]
Gt,
#[serde(rename = "GE")]
Ge,
#[serde(rename = "LT")]
Lt,
#[serde(rename = "LE")]
Le,
#[serde(rename = "REGEXP")]
Regexp,
#[serde(rename = "LIKE")]
Like,
#[serde(rename = "GIVEN")]
Given,
#[serde(rename = "NOT_GIVEN")]
NotGiven,
#[serde(rename = "STARTS_WITH")]
StartsWith,
#[serde(rename = "ENDS_WITH")]
EndsWith,
#[serde(rename = "CONTAINS")]
Contains,
#[serde(rename = "NOT_CONTAINS")]
NotContains,
#[serde(rename = "IS_NULL")]
IsNull,
#[serde(rename = "IS_NOT_NULL")]
IsNotNull,
#[serde(rename = "EVALUABLE")]
Evaluable,
#[serde(rename = "NOT_EVALUABLE")]
NotEvaluable,
}
impl std::fmt::Display for TriggerOperator {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Eq => write!(f, "EQ"),
Self::Neq => write!(f, "NEQ"),
Self::Gt => write!(f, "GT"),
Self::Ge => write!(f, "GE"),
Self::Lt => write!(f, "LT"),
Self::Le => write!(f, "LE"),
Self::Regexp => write!(f, "REGEXP"),
Self::Like => write!(f, "LIKE"),
Self::Given => write!(f, "GIVEN"),
Self::NotGiven => write!(f, "NOT_GIVEN"),
Self::StartsWith => write!(f, "STARTS_WITH"),
Self::EndsWith => write!(f, "ENDS_WITH"),
Self::Contains => write!(f, "CONTAINS"),
Self::NotContains => write!(f, "NOT_CONTAINS"),
Self::IsNull => write!(f, "IS_NULL"),
Self::IsNotNull => write!(f, "IS_NOT_NULL"),
Self::Evaluable => write!(f, "EVALUABLE"),
Self::NotEvaluable => write!(f, "NOT_EVALUABLE"),
}
}
}
impl Default for TriggerOperator {
fn default() -> TriggerOperator {
Self::Eq
}
}