use crate::client::Client;
#[allow(unused_imports)]
use crate::enums::*;
use crate::error::Error;
#[allow(unused_imports)]
use crate::models::*;
#[allow(unused_imports)]
use serde::Serialize;
pub struct WebhookPlatformApi<'a> {
pub(crate) client: &'a Client,
}
#[derive(Debug, Clone, Default, Serialize)]
pub struct ListWebhookEventTypesParams {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(rename = "X-STORE")]
pub x_store: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize)]
pub struct ListWebhookDeliveriesParams {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(rename = "X-STORE")]
pub x_store: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize)]
pub struct GetWebhookDeliveryParams {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(rename = "X-STORE")]
pub x_store: Option<String>,
}
#[derive(Debug, Clone, Serialize)]
pub struct ReplayWebhookDeliveryParams {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(rename = "X-STORE")]
pub x_store: Option<String>,
#[serde(skip)]
pub body: SdkReplayWebhookDeliveryRequestApplicationJson,
}
impl ReplayWebhookDeliveryParams {
#[allow(deprecated)]
pub fn new(body: SdkReplayWebhookDeliveryRequestApplicationJson) -> Self {
Self {
x_store: Default::default(),
body,
}
}
}
impl<'a> WebhookPlatformApi<'a> {
pub async fn list_webhook_event_types(
&self,
params: ListWebhookEventTypesParams,
) -> Result<SdkListWebhookEventTypesResponseValue200ApplicationJson, Error> {
self.list_webhook_event_types_with_options(params, None)
.await
}
pub async fn list_webhook_event_types_with_options(
&self,
params: ListWebhookEventTypesParams,
options: Option<&crate::RequestOptions>,
) -> Result<SdkListWebhookEventTypesResponseValue200ApplicationJson, Error> {
self.list_webhook_event_types_raw(params, options)
.await
.map(|response| response.data)
}
pub async fn list_webhook_event_types_raw(
&self,
params: ListWebhookEventTypesParams,
options: Option<&crate::RequestOptions>,
) -> Result<crate::RawResponse<SdkListWebhookEventTypesResponseValue200ApplicationJson>, Error>
{
let path = "/v2/webhook-event-types".to_string();
let method = http::Method::GET;
let mut merged = options.cloned().unwrap_or_default();
merged.idempotency_supported = false;
merged.operation_id = Some("listWebhookEventTypes".to_string());
let options = Some(&merged);
self.client
.request_with_query_schema_opts_raw(
method,
&path,
¶ms,
options,
"GET /v2/webhook-event-types",
)
.await
}
pub async fn list_webhook_deliveries(
&self,
params: ListWebhookDeliveriesParams,
) -> Result<SdkListWebhookDeliveriesResponseValue200ApplicationJson, Error> {
self.list_webhook_deliveries_with_options(params, None)
.await
}
pub async fn list_webhook_deliveries_with_options(
&self,
params: ListWebhookDeliveriesParams,
options: Option<&crate::RequestOptions>,
) -> Result<SdkListWebhookDeliveriesResponseValue200ApplicationJson, Error> {
self.list_webhook_deliveries_raw(params, options)
.await
.map(|response| response.data)
}
pub async fn list_webhook_deliveries_raw(
&self,
params: ListWebhookDeliveriesParams,
options: Option<&crate::RequestOptions>,
) -> Result<crate::RawResponse<SdkListWebhookDeliveriesResponseValue200ApplicationJson>, Error>
{
let path = "/v2/webhook-deliveries".to_string();
let method = http::Method::GET;
let mut merged = options.cloned().unwrap_or_default();
merged.idempotency_supported = false;
merged.operation_id = Some("listWebhookDeliveries".to_string());
let options = Some(&merged);
self.client
.request_with_query_schema_opts_raw(
method,
&path,
¶ms,
options,
"GET /v2/webhook-deliveries",
)
.await
}
pub async fn get_webhook_delivery(
&self,
delivery: &str,
params: GetWebhookDeliveryParams,
) -> Result<SdkGetWebhookDeliveryResponseValue200ApplicationJson, Error> {
self.get_webhook_delivery_with_options(delivery, params, None)
.await
}
pub async fn get_webhook_delivery_with_options(
&self,
delivery: &str,
params: GetWebhookDeliveryParams,
options: Option<&crate::RequestOptions>,
) -> Result<SdkGetWebhookDeliveryResponseValue200ApplicationJson, Error> {
self.get_webhook_delivery_raw(delivery, params, options)
.await
.map(|response| response.data)
}
pub async fn get_webhook_delivery_raw(
&self,
delivery: &str,
params: GetWebhookDeliveryParams,
options: Option<&crate::RequestOptions>,
) -> Result<crate::RawResponse<SdkGetWebhookDeliveryResponseValue200ApplicationJson>, Error>
{
let delivery = crate::client::path_segment(delivery);
let path = format!("/v2/webhook-deliveries/{delivery}");
let method = http::Method::GET;
let mut merged = options.cloned().unwrap_or_default();
merged.idempotency_supported = false;
merged.operation_id = Some("getWebhookDelivery".to_string());
let options = Some(&merged);
self.client
.request_with_query_schema_opts_raw(
method,
&path,
¶ms,
options,
"GET /v2/webhook-deliveries/{delivery}",
)
.await
}
pub async fn replay_webhook_delivery(
&self,
delivery: &str,
params: ReplayWebhookDeliveryParams,
) -> Result<SdkReplayWebhookDeliveryResponseValue201ApplicationJson, Error> {
self.replay_webhook_delivery_with_options(delivery, params, None)
.await
}
pub async fn replay_webhook_delivery_with_options(
&self,
delivery: &str,
params: ReplayWebhookDeliveryParams,
options: Option<&crate::RequestOptions>,
) -> Result<SdkReplayWebhookDeliveryResponseValue201ApplicationJson, Error> {
self.replay_webhook_delivery_raw(delivery, params, options)
.await
.map(|response| response.data)
}
pub async fn replay_webhook_delivery_raw(
&self,
delivery: &str,
params: ReplayWebhookDeliveryParams,
options: Option<&crate::RequestOptions>,
) -> Result<crate::RawResponse<SdkReplayWebhookDeliveryResponseValue201ApplicationJson>, Error>
{
let delivery = crate::client::path_segment(delivery);
let path = format!("/v2/webhook-deliveries/{delivery}/replay");
let method = http::Method::POST;
let mut merged = options.cloned().unwrap_or_default();
merged.idempotency_supported = true;
merged.operation_id = Some("replayWebhookDelivery".to_string());
let options = Some(&merged);
self.client
.request_with_body_schema_opts_raw(
method,
&path,
¶ms,
Some(¶ms.body),
options,
"POST /v2/webhook-deliveries/{delivery}/replay",
)
.await
}
}