onesignal-rust-api 5.14.0

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
Documentation
/*
 * OneSignal
 *
 * A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
 *
 * Contact: devrel@onesignal.com
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct JourneyEventAttribute {
    /// Event attribute key.
    #[serde(rename = "key")]
    pub key: String,
    /// Comparison operator.
    #[serde(rename = "operator")]
    pub operator: OperatorType,
    /// Value to compare against. Not required for exists and not_exists.
    #[serde(rename = "value", skip_serializing_if = "Option::is_none")]
    pub value: Option<String>,
}

impl JourneyEventAttribute {
    pub fn new(key: String, operator: OperatorType) -> JourneyEventAttribute {
        JourneyEventAttribute {
            key,
            operator,
            value: None,
        }
    }
}

/// Comparison operator.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OperatorType {
    #[serde(rename = "equal")]
    Equal,
    #[serde(rename = "not_equal")]
    NotEqual,
    #[serde(rename = "less")]
    Less,
    #[serde(rename = "less_or_equal")]
    LessOrEqual,
    #[serde(rename = "greater_or_equal")]
    GreaterOrEqual,
    #[serde(rename = "greater")]
    Greater,
    #[serde(rename = "is")]
    Is,
    #[serde(rename = "is_not")]
    IsNot,
    #[serde(rename = "exists")]
    Exists,
    #[serde(rename = "not_exists")]
    NotExists,
    #[serde(rename = "before")]
    Before,
    #[serde(rename = "after")]
    After,
}

impl Default for OperatorType {
    fn default() -> OperatorType {
        Self::Equal
    }
}