vapi_client/models/
condition.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Condition {
17 #[serde(rename = "operator")]
19 pub operator: Operator,
20 #[serde(rename = "param")]
22 pub param: String,
23 #[serde(rename = "value")]
25 pub value: serde_json::Value,
26}
27
28impl Condition {
29 pub fn new(operator: Operator, param: String, value: serde_json::Value) -> Condition {
30 Condition {
31 operator,
32 param,
33 value,
34 }
35 }
36}
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
39pub enum Operator {
40 #[serde(rename = "eq")]
41 Eq,
42 #[serde(rename = "neq")]
43 Neq,
44 #[serde(rename = "gt")]
45 Gt,
46 #[serde(rename = "gte")]
47 Gte,
48 #[serde(rename = "lt")]
49 Lt,
50 #[serde(rename = "lte")]
51 Lte,
52}
53
54impl Default for Operator {
55 fn default() -> Operator {
56 Self::Eq
57 }
58}