#![cfg(feature = "cloudflare_billing")]
#![allow(clippy::too_many_arguments, clippy::type_complexity)]
#![allow(clippy::missing_errors_doc, clippy::doc_markdown, clippy::useless_format)]
#![allow(unused_imports)]
use foundation_netio::{DynNetClient, PreparedRequestBuilder};
use foundation_netio::shared::client::http_client::HttpClient;
use serde::{Deserialize, Serialize};
use foundation_macros::JsonHash;
use super::shared::BillSubsApiSubscriptionV2;
use super::shared::BillSubsApiComponentValue;
use super::shared::BillSubsApiCurrency;
use super::shared::BillSubsApiCurrentPeriodEnd;
use super::shared::BillSubsApiCurrentPeriodStart;
use super::shared::BillSubsApiFrequency;
use super::shared::BillSubsApiIdentifier;
use super::shared::BillSubsApiName;
use super::shared::BillSubsApiPrice;
use super::shared::BillSubsApiRatePlan;
use super::shared::BillSubsApiSchemasIdentifier;
use super::shared::BillSubsApiState;
use super::shared::BillSubsApiZone;
use super::shared::ApiResponse;
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AccountSubscriptionsDeleteSubscriptionResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiAccountSubscriptionResponseCollection {
pub result: Option<Vec<BillSubsApiSubscription>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiAccountSubscriptionResponseSingle {
pub result: Option<BillSubsApiSubscription>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiApiResponseCollection {
pub result: Option<Vec<serde_json::Value>>,
pub result_info: Option<BillSubsApiResultInfo>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub result: serde_json::Value,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiApiResponseSingle {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiComponentValues {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiResultInfo {
pub count: Option<f64>,
pub page: Option<f64>,
pub per_page: Option<f64>,
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillSubsApiSubscription {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillableUsageApiMessage {
pub code: Option<i64>,
pub message: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillableUsageApiUsageRecord {
#[serde(rename = "BillingCurrency")]
pub billing_currency: String,
#[serde(rename = "BillingPeriodStart")]
pub billing_period_start: String,
#[serde(rename = "ChargePeriodEnd")]
pub charge_period_end: String,
#[serde(rename = "ChargePeriodStart")]
pub charge_period_start: String,
#[serde(rename = "ConsumedQuantity")]
pub consumed_quantity: f64,
#[serde(rename = "ConsumedUnit")]
pub consumed_unit: String,
#[serde(rename = "ContractedCost")]
pub contracted_cost: f64,
#[serde(rename = "CumulatedContractedCost")]
pub cumulated_contracted_cost: f64,
#[serde(rename = "CumulatedPricingQuantity")]
pub cumulated_pricing_quantity: i64,
#[serde(rename = "PricingQuantity")]
pub pricing_quantity: i64,
#[serde(rename = "ServiceName")]
pub service_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BillableUsageApiUsageResponse {
pub errors: Option<Vec<BillableUsageApiMessage>>,
pub messages: Option<Vec<BillableUsageApiMessage>>,
pub result: Vec<BillableUsageApiUsageRecord>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqApiV4Error {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqApiV4Message {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqApiV4Success {
pub errors: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
pub messages: Option<Vec<String>>,
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventDestination {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventDestinationQueue {
pub queue_id: String,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSource {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceImages {
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceKv {
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceR2 {
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceSuperSlurper {
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceVectorize {
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceWorkersAiModel {
pub model_name: Option<String>,
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceWorkersBuildsWorker {
#[serde(rename = "type")]
pub r#type: Option<String>,
pub worker_name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSourceWorkflowsWorkflow {
#[serde(rename = "type")]
pub r#type: Option<String>,
pub workflow_name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MqEventSubscription {
pub created_at: String,
pub destination: MqEventDestination,
pub enabled: bool,
pub events: Vec<String>,
pub id: String,
pub modified_at: String,
pub name: String,
pub source: MqEventSource,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlApiNoResultResponse {
pub errors: Option<Vec<Box<PayPerCrawlMsg>>>,
pub messages: Option<Vec<Box<PayPerCrawlMsg>>>,
pub result_info: Option<PayPerCrawlResultInfo>,
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlCreateStripeConfigResponse {
pub errors: Option<Vec<Box<PayPerCrawlMsg>>>,
pub messages: Option<Vec<Box<PayPerCrawlMsg>>>,
pub result: Option<PayPerCrawlStripeConnectResp>,
pub result_info: Option<PayPerCrawlResultInfo>,
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlDaricZoneCanBeEnabled {
pub can_be_enabled: Option<bool>,
pub id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlGetStripeConfigResponse {
pub errors: Option<Vec<Box<PayPerCrawlMsg>>>,
pub messages: Option<Vec<Box<PayPerCrawlMsg>>>,
pub result: Option<PayPerCrawlStripeConnection>,
pub result_info: Option<PayPerCrawlResultInfo>,
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlMsg {
pub code: Option<i64>,
pub documentation_url: Option<String>,
pub error_chain: Option<Vec<Box<PayPerCrawlMsg>>>,
pub message: Option<String>,
pub meta: Option<serde_json::Value>,
pub source: Option<PayPerCrawlSource>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlQueryZonesCanBeEnabledResponse {
pub errors: Option<Vec<Box<PayPerCrawlMsg>>>,
pub messages: Option<Vec<Box<PayPerCrawlMsg>>>,
pub result: Option<PayPerCrawlZonesCanBeEnabledPayload>,
pub result_info: Option<PayPerCrawlResultInfo>,
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlResultInfo {
pub count: Option<i64>,
pub page: Option<i64>,
pub per_page: Option<i64>,
pub total_count: Option<i64>,
pub total_pages: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlSource {
pub parameter: Option<String>,
pub parameter_value_index: Option<i64>,
pub pointer: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlStripeConnectResp {
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlStripeConnection {
pub connect_status: Option<String>,
pub stripe_account_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PayPerCrawlZonesCanBeEnabledPayload {
pub zones: Option<Vec<PayPerCrawlDaricZoneCanBeEnabled>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsCreateRequest {
pub destination: Option<MqEventDestination>,
pub enabled: Option<bool>,
pub events: Option<Vec<String>>,
pub name: Option<String>,
pub source: Option<MqEventSource>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsCreateResponse {
pub result: Option<MqEventSubscription>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsDeleteResponse {
pub result: Option<MqEventSubscription>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsGetResponse {
pub result: Option<MqEventSubscription>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsListResponse {
pub result: Option<Vec<MqEventSubscription>>,
pub result_info: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsPatchRequest {
pub destination: Option<MqEventDestination>,
pub enabled: Option<bool>,
pub events: Option<Vec<String>>,
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SubscriptionsPatchResponse {
pub result: Option<MqEventSubscription>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct BillableUsageGetPaygoAccountUsageArgs {
pub account_id: String,
pub from: Option<String>,
pub to: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SubscriptionsListArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub order: Option<String>,
pub direction: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SubscriptionsCreateArgs {
pub account_id: String,
pub body: SubscriptionsCreateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SubscriptionsGetArgs {
pub account_id: String,
pub subscription_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SubscriptionsPatchArgs {
pub account_id: String,
pub subscription_id: String,
pub body: SubscriptionsPatchRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SubscriptionsDeleteArgs {
pub account_id: String,
pub subscription_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlCrawlerGetStripeConfigArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlCrawlerCreateStripeConfigArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlCrawlerDeleteStripeConfigArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlPublisherGetStripeConfigArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlPublisherCreateStripeConfigArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlPublisherDeleteStripeConfigArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlSetZonesCanBeEnabledArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PayPerCrawlQueryZonesCanBeEnabledArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct AccountSubscriptionsListSubscriptionsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct AccountSubscriptionsCreateSubscriptionArgs {
pub account_id: String,
pub body: BillSubsApiSubscriptionV2,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct AccountSubscriptionsUpdateSubscriptionArgs {
pub subscription_identifier: String,
pub account_id: String,
pub body: BillSubsApiSubscriptionV2,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct AccountSubscriptionsDeleteSubscriptionArgs {
pub subscription_identifier: String,
pub account_id: String,
}
pub async fn billable_usage_get_paygo_account_usage_request<F>(
client: DynNetClient,
args: &BillableUsageGetPaygoAccountUsageArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<BillableUsageApiUsageResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/billing/usage/paygo",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: BillableUsageApiUsageResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn subscriptions_list_request<F>(
client: DynNetClient,
args: &SubscriptionsListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SubscriptionsListResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/event_subscriptions/subscriptions",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("order", args.order.as_deref());
builder = builder.query("direction", args.direction.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SubscriptionsListResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn subscriptions_create_request<F>(
client: DynNetClient,
args: &SubscriptionsCreateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SubscriptionsCreateResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/event_subscriptions/subscriptions",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SubscriptionsCreateResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn subscriptions_get_request<F>(
client: DynNetClient,
args: &SubscriptionsGetArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SubscriptionsGetResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/event_subscriptions/subscriptions/{}",
args.account_id,
args.subscription_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SubscriptionsGetResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn subscriptions_patch_request<F>(
client: DynNetClient,
args: &SubscriptionsPatchArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SubscriptionsPatchResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/event_subscriptions/subscriptions/{}",
args.account_id,
args.subscription_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SubscriptionsPatchResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn subscriptions_delete_request<F>(
client: DynNetClient,
args: &SubscriptionsDeleteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SubscriptionsDeleteResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/event_subscriptions/subscriptions/{}",
args.account_id,
args.subscription_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SubscriptionsDeleteResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_crawler_get_stripe_config_request<F>(
client: DynNetClient,
args: &PayPerCrawlCrawlerGetStripeConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlGetStripeConfigResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/crawler/stripe",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlGetStripeConfigResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_crawler_create_stripe_config_request<F>(
client: DynNetClient,
args: &PayPerCrawlCrawlerCreateStripeConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlCreateStripeConfigResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/crawler/stripe",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlCreateStripeConfigResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_crawler_delete_stripe_config_request<F>(
client: DynNetClient,
args: &PayPerCrawlCrawlerDeleteStripeConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlApiNoResultResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/crawler/stripe",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlApiNoResultResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_publisher_get_stripe_config_request<F>(
client: DynNetClient,
args: &PayPerCrawlPublisherGetStripeConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlGetStripeConfigResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/publisher/stripe",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlGetStripeConfigResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_publisher_create_stripe_config_request<F>(
client: DynNetClient,
args: &PayPerCrawlPublisherCreateStripeConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlCreateStripeConfigResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/publisher/stripe",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlCreateStripeConfigResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_publisher_delete_stripe_config_request<F>(
client: DynNetClient,
args: &PayPerCrawlPublisherDeleteStripeConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlApiNoResultResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/publisher/stripe",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlApiNoResultResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_set_zones_can_be_enabled_request<F>(
client: DynNetClient,
args: &PayPerCrawlSetZonesCanBeEnabledArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlApiNoResultResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/zones_can_be_enabled",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlApiNoResultResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn pay_per_crawl_query_zones_can_be_enabled_request<F>(
client: DynNetClient,
args: &PayPerCrawlQueryZonesCanBeEnabledArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PayPerCrawlQueryZonesCanBeEnabledResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/pay-per-crawl/zones_can_be_enabled/query",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PayPerCrawlQueryZonesCanBeEnabledResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn account_subscriptions_list_subscriptions_request<F>(
client: DynNetClient,
args: &AccountSubscriptionsListSubscriptionsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<BillSubsApiAccountSubscriptionResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/subscriptions",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: BillSubsApiAccountSubscriptionResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn account_subscriptions_create_subscription_request<F>(
client: DynNetClient,
args: &AccountSubscriptionsCreateSubscriptionArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<BillSubsApiAccountSubscriptionResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/subscriptions",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: BillSubsApiAccountSubscriptionResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn account_subscriptions_update_subscription_request<F>(
client: DynNetClient,
args: &AccountSubscriptionsUpdateSubscriptionArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<BillSubsApiAccountSubscriptionResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/subscriptions/{}",
args.account_id,
args.subscription_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: BillSubsApiAccountSubscriptionResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn account_subscriptions_delete_subscription_request<F>(
client: DynNetClient,
args: &AccountSubscriptionsDeleteSubscriptionArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AccountSubscriptionsDeleteSubscriptionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/subscriptions/{}",
args.account_id,
args.subscription_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: AccountSubscriptionsDeleteSubscriptionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}