use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CaptureTriggerKind {
#[serde(rename = "webhook")]
Webhook,
#[serde(rename = "http")]
Http,
#[serde(rename = "websocket")]
Websocket,
#[serde(rename = "kafka")]
Kafka,
#[serde(rename = "default_email")]
DefaultEmail,
#[serde(rename = "nats")]
Nats,
#[serde(rename = "postgres")]
Postgres,
#[serde(rename = "sqs")]
Sqs,
#[serde(rename = "mqtt")]
Mqtt,
#[serde(rename = "gcp")]
Gcp,
#[serde(rename = "email")]
Email,
}
impl std::fmt::Display for CaptureTriggerKind {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Webhook => write!(f, "webhook"),
Self::Http => write!(f, "http"),
Self::Websocket => write!(f, "websocket"),
Self::Kafka => write!(f, "kafka"),
Self::DefaultEmail => write!(f, "default_email"),
Self::Nats => write!(f, "nats"),
Self::Postgres => write!(f, "postgres"),
Self::Sqs => write!(f, "sqs"),
Self::Mqtt => write!(f, "mqtt"),
Self::Gcp => write!(f, "gcp"),
Self::Email => write!(f, "email"),
}
}
}
impl Default for CaptureTriggerKind {
fn default() -> CaptureTriggerKind {
Self::Webhook
}
}