use std::fmt;
use serde::{Deserialize, Serialize};
#[derive(
Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum ConnectorKind {
#[default]
#[serde(rename = "Custom")]
Custom,
#[serde(rename = "AgenticCommerceProtocol")]
AgenticCommerceProtocol,
#[serde(rename = "CloseCRM")]
CloseCrm,
#[serde(rename = "CustomerIO")]
CustomerIo,
#[serde(rename = "Discord")]
Discord,
#[serde(rename = "Hubspot")]
Hubspot,
#[serde(rename = "Inngest")]
Inngest,
#[serde(rename = "Loops")]
Loops,
#[serde(rename = "Otel")]
Otel,
#[serde(rename = "Resend")]
Resend,
#[serde(rename = "Salesforce")]
Salesforce,
#[serde(rename = "Segment")]
Segment,
#[serde(rename = "Sendgrid")]
Sendgrid,
#[serde(rename = "Slack")]
Slack,
#[serde(rename = "Teams")]
Teams,
#[serde(rename = "TriggerDev")]
TriggerDev,
#[serde(rename = "Windmill")]
Windmill,
#[serde(rename = "Zapier")]
Zapier,
}
impl fmt::Display for ConnectorKind {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let value = match self {
Self::Custom => "Custom",
Self::AgenticCommerceProtocol => "AgenticCommerceProtocol",
Self::CloseCrm => "CloseCRM",
Self::CustomerIo => "CustomerIO",
Self::Discord => "Discord",
Self::Hubspot => "Hubspot",
Self::Inngest => "Inngest",
Self::Loops => "Loops",
Self::Otel => "Otel",
Self::Resend => "Resend",
Self::Salesforce => "Salesforce",
Self::Segment => "Segment",
Self::Sendgrid => "Sendgrid",
Self::Slack => "Slack",
Self::Teams => "Teams",
Self::TriggerDev => "TriggerDev",
Self::Windmill => "Windmill",
Self::Zapier => "Zapier",
};
f.write_str(value)
}
}