use std::collections::BTreeMap;
use serde::Serialize;
use serde_json::Value;
use super::ExtraFields;
#[derive(Debug, Clone, Serialize, Default, bon::Builder)]
#[builder(on(String, into))]
#[serde(remote = "Self", rename_all = "camelCase")]
pub struct Cloudflare5sTask {
#[serde(rename = "websiteURL")]
pub website_url: String,
pub proxy: String,
#[serde(rename = "rqData", skip_serializing_if = "Option::is_none")]
pub rq_data: Option<BTreeMap<String, Value>>,
#[serde(skip)]
#[builder(default)]
pub extra: ExtraFields,
}
#[derive(Debug, Clone, Serialize, Default, bon::Builder)]
#[builder(on(String, into))]
#[serde(remote = "Self", rename_all = "camelCase")]
pub struct CloudflareTurnstileTask {
#[serde(rename = "websiteURL")]
pub website_url: String,
pub website_key: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub proxy: Option<String>,
#[serde(rename = "rqData", skip_serializing_if = "Option::is_none")]
pub rq_data: Option<BTreeMap<String, Value>>,
#[serde(skip)]
#[builder(default)]
pub extra: ExtraFields,
}