enbbox 1.0.1

Notification infrastructure API — open-source alternative to Novu/Courier
Documentation
/*
 * enbbox API
 *
 * Notification infrastructure API — open-source alternative to Novu/Courier
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// StepType : Combined step type used in workflow step definitions.
/// Combined step type used in workflow step definitions.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum StepType {
    #[serde(rename = "in_app")]
    InApp,
    #[serde(rename = "email")]
    Email,
    #[serde(rename = "sms")]
    Sms,
    #[serde(rename = "chat")]
    Chat,
    #[serde(rename = "push")]
    Push,
    #[serde(rename = "digest")]
    Digest,
    #[serde(rename = "trigger")]
    Trigger,
    #[serde(rename = "delay")]
    Delay,
    #[serde(rename = "throttle")]
    Throttle,
    #[serde(rename = "custom")]
    Custom,

}

impl std::fmt::Display for StepType {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::InApp => write!(f, "in_app"),
            Self::Email => write!(f, "email"),
            Self::Sms => write!(f, "sms"),
            Self::Chat => write!(f, "chat"),
            Self::Push => write!(f, "push"),
            Self::Digest => write!(f, "digest"),
            Self::Trigger => write!(f, "trigger"),
            Self::Delay => write!(f, "delay"),
            Self::Throttle => write!(f, "throttle"),
            Self::Custom => write!(f, "custom"),
        }
    }
}

impl Default for StepType {
    fn default() -> StepType {
        Self::InApp
    }
}