dfns-sdk-rust 0.2.0

Dfns API SDK for Rust
Documentation
// Code generated by rust-sdk-generator. DO NOT EDIT.

#![allow(clippy::all)]

/// List Webhooks
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListWebhooksResponse {
    #[serde(rename = "items")]
    pub items: Vec<crate::types::Webhook>,
    #[serde(
        rename = "nextPageToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub next_page_token: Option<String>,
}

/// Query parameters for the ListWebhooksQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListWebhooksQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
}

/// Create Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateWebhookRequest {
    #[serde(rename = "url")]
    pub url: String,
    #[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    #[serde(
        rename = "description",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub description: Option<String>,
    #[serde(rename = "events")]
    pub events: Vec<serde_json::Value>,
}

/// Create Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateWebhookResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "url")]
    pub url: String,
    #[serde(rename = "events")]
    pub events: Vec<serde_json::Value>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(
        rename = "description",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub description: Option<String>,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(rename = "secret")]
    pub secret: String,
}

/// Get Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct GetWebhookResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "url")]
    pub url: String,
    #[serde(rename = "events")]
    pub events: Vec<serde_json::Value>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(
        rename = "description",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub description: Option<String>,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
}

/// Update Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UpdateWebhookRequest {
    #[serde(rename = "url", default, skip_serializing_if = "Option::is_none")]
    pub url: Option<String>,
    #[serde(
        rename = "description",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub description: Option<String>,
    #[serde(rename = "events", default, skip_serializing_if = "Option::is_none")]
    pub events: Option<Vec<serde_json::Value>>,
    #[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
}

/// Update Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UpdateWebhookResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "url")]
    pub url: String,
    #[serde(rename = "events")]
    pub events: Vec<serde_json::Value>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(
        rename = "description",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub description: Option<String>,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
}

/// Delete Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct DeleteWebhookResponse {
    #[serde(rename = "deleted")]
    pub deleted: String,
}

/// Ping Webhook
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct PingWebhookResponse {
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "error", default, skip_serializing_if = "Option::is_none")]
    pub error: Option<String>,
}

/// Get Webhook Event
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct GetWebhookEventResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "date")]
    pub date: String,
    #[serde(rename = "kind")]
    pub kind: String,
    #[serde(rename = "data")]
    pub data:
        std::collections::HashMap<String, std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "error", default, skip_serializing_if = "Option::is_none")]
    pub error: Option<String>,
    #[serde(rename = "timestampSent")]
    pub timestamp_sent: i64,
}

/// List Webhook Events
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListWebhookEventsResponse {
    #[serde(rename = "items")]
    pub items: Vec<crate::types::WebhookEvent>,
    #[serde(
        rename = "nextPageToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub next_page_token: Option<String>,
}

/// Query parameters for the ListWebhookEventsQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListWebhookEventsQuery {
    #[serde(rename = "kind", default, skip_serializing_if = "Option::is_none")]
    pub kind: Option<String>,
    #[serde(
        rename = "deliveryFailed",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub delivery_failed: Option<String>,
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
}