use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Webhook {
#[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "createdBy", skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
#[serde(rename = "endpointUrl", skip_serializing_if = "Option::is_none")]
pub endpoint_url: Option<String>,
#[serde(rename = "failureCount", skip_serializing_if = "Option::is_none")]
pub failure_count: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "lastDeliveredAt", skip_serializing_if = "Option::is_none")]
pub last_delivered_at: Option<String>,
#[serde(rename = "lastSentAt", skip_serializing_if = "Option::is_none")]
pub last_sent_at: Option<String>,
#[serde(rename = "linkId", skip_serializing_if = "Option::is_none")]
pub link_id: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "source", skip_serializing_if = "Option::is_none")]
pub source: Option<models::WebhookSource>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<models::WebhookStatus>,
#[serde(rename = "successCount", skip_serializing_if = "Option::is_none")]
pub success_count: Option<String>,
#[serde(rename = "triggers", skip_serializing_if = "Option::is_none")]
pub triggers: Option<Vec<Triggers>>,
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "workspaceId", skip_serializing_if = "Option::is_none")]
pub workspace_id: Option<String>,
}
impl Webhook {
pub fn new() -> Webhook {
Webhook {
created_at: None,
created_by: None,
endpoint_url: None,
failure_count: None,
id: None,
last_delivered_at: None,
last_sent_at: None,
link_id: None,
name: None,
source: None,
status: None,
success_count: None,
triggers: None,
updated_at: None,
workspace_id: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Triggers {
#[serde(rename = "KIND_UNSPECIFIED")]
KindUnspecified,
#[serde(rename = "KIND_ENTRY")]
KindEntry,
#[serde(rename = "KIND_EXIT")]
KindExit,
#[serde(rename = "KIND_INTERACTION")]
KindInteraction,
#[serde(rename = "KIND_CONDITION")]
KindCondition,
}
impl Default for Triggers {
fn default() -> Triggers {
Self::KindUnspecified
}
}