Skip to main content

onesignal_rust_api/models/
journey_event_attribute.rs

1/*
2 * OneSignal
3 *
4 * A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5 *
6 * Contact: devrel@onesignal.com
7 * Generated by: https://openapi-generator.tech
8 */
9
10
11
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct JourneyEventAttribute {
15    /// Event attribute key.
16    #[serde(rename = "key")]
17    pub key: String,
18    /// Comparison operator.
19    #[serde(rename = "operator")]
20    pub operator: OperatorType,
21    /// Value to compare against. Not required for exists and not_exists.
22    #[serde(rename = "value", skip_serializing_if = "Option::is_none")]
23    pub value: Option<String>,
24}
25
26impl JourneyEventAttribute {
27    pub fn new(key: String, operator: OperatorType) -> JourneyEventAttribute {
28        JourneyEventAttribute {
29            key,
30            operator,
31            value: None,
32        }
33    }
34}
35
36/// Comparison operator.
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum OperatorType {
39    #[serde(rename = "equal")]
40    Equal,
41    #[serde(rename = "not_equal")]
42    NotEqual,
43    #[serde(rename = "less")]
44    Less,
45    #[serde(rename = "less_or_equal")]
46    LessOrEqual,
47    #[serde(rename = "greater_or_equal")]
48    GreaterOrEqual,
49    #[serde(rename = "greater")]
50    Greater,
51    #[serde(rename = "is")]
52    Is,
53    #[serde(rename = "is_not")]
54    IsNot,
55    #[serde(rename = "exists")]
56    Exists,
57    #[serde(rename = "not_exists")]
58    NotExists,
59    #[serde(rename = "before")]
60    Before,
61    #[serde(rename = "after")]
62    After,
63}
64
65impl Default for OperatorType {
66    fn default() -> OperatorType {
67        Self::Equal
68    }
69}
70