hatchet-sdk 0.2.8

This is an unofficial Rust SDK for Hatchet, a distributed, fault-tolerant task queue.
Documentation
/*
 * Hatchet API
 *
 * The Hatchet API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct V1WebhookCreateRequestOneOf {
    /// The name of the source for this webhook
    #[serde(rename = "sourceName")]
    pub source_name: SourceName,
    /// The name of the webhook
    #[serde(rename = "name")]
    pub name: String,
    /// The CEL expression to use for the event key. This is used to create the event key from the webhook payload.
    #[serde(rename = "eventKeyExpression")]
    pub event_key_expression: String,
    /// The type of authentication to use for the webhook
    #[serde(rename = "authType")]
    pub auth_type: AuthType,
    #[serde(rename = "auth")]
    pub auth: Box<models::V1WebhookCreateRequestOneOfAllOfAuth>,
}

impl V1WebhookCreateRequestOneOf {
    pub fn new(
        source_name: SourceName,
        name: String,
        event_key_expression: String,
        auth_type: AuthType,
        auth: models::V1WebhookCreateRequestOneOfAllOfAuth,
    ) -> V1WebhookCreateRequestOneOf {
        V1WebhookCreateRequestOneOf {
            source_name,
            name,
            event_key_expression,
            auth_type,
            auth: Box::new(auth),
        }
    }
}
/// The name of the source for this webhook
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SourceName {
    #[serde(rename = "GENERIC")]
    Generic,
    #[serde(rename = "GITHUB")]
    Github,
    #[serde(rename = "STRIPE")]
    Stripe,
}

impl Default for SourceName {
    fn default() -> SourceName {
        Self::Generic
    }
}
/// The type of authentication to use for the webhook
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AuthType {
    #[serde(rename = "BASIC")]
    Basic,
}

impl Default for AuthType {
    fn default() -> AuthType {
        Self::Basic
    }
}