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