#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AffiliateListMetaResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CommissionAffiliateResponseDto {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CommissionCampaignResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CommissionCustomerResponseDto {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CommissionListItemResponseDto {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "productId", default, skip_serializing_if = "Option::is_none")]
pub product_id: Option<String>,
#[serde(
rename = "productName",
default,
skip_serializing_if = "Option::is_none"
)]
pub product_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub qty: Option<f64>,
#[serde(
rename = "productCommission",
default,
skip_serializing_if = "Option::is_none"
)]
pub product_commission: Option<f64>,
#[serde(
rename = "commissionAmount",
default,
skip_serializing_if = "Option::is_none"
)]
pub commission_amount: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(
rename = "unitDiscount",
default,
skip_serializing_if = "Option::is_none"
)]
pub unit_discount: Option<f64>,
#[serde(
rename = "campaignName",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub commission: Option<f64>,
#[serde(
rename = "commissionType",
default,
skip_serializing_if = "Option::is_none"
)]
pub commission_type: Option<String>,
#[serde(
rename = "transactionAt",
default,
skip_serializing_if = "Option::is_none"
)]
pub transaction_at: Option<String>,
#[serde(
rename = "transactionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub transaction_id: Option<String>,
#[serde(
rename = "affiliateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub affiliate_id: Option<String>,
#[serde(rename = "payoutId", default, skip_serializing_if = "Option::is_none")]
pub payout_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(rename = "isTrial", default, skip_serializing_if = "Option::is_none")]
pub is_trial: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer: Option<CommissionCustomerResponseDto>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "eventId", default, skip_serializing_if = "Option::is_none")]
pub event_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub campaign: Option<CommissionCampaignResponseDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affiliate: Option<CommissionAffiliateResponseDto>,
#[serde(rename = "dueAt", default, skip_serializing_if = "Option::is_none")]
pub due_at: Option<String>,
#[serde(rename = "liveMode", default, skip_serializing_if = "Option::is_none")]
pub live_mode: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tier: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CommissionListMetaResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetAffiliateResponseDto {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<serde_json::Value>,
#[serde(
rename = "facebookUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub facebook_url: Option<String>,
#[serde(
rename = "instagramUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub instagram_url: Option<String>,
#[serde(
rename = "linkedInUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub linked_in_url: Option<String>,
#[serde(
rename = "twitterUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub twitter_url: Option<String>,
#[serde(
rename = "youtubeUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub youtube_url: Option<String>,
#[serde(
rename = "websiteUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub website_url: Option<String>,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(rename = "campaignIds", default, skip_serializing_if = "Vec::is_empty")]
pub campaign_ids: Vec<String>,
#[serde(rename = "vatId", default, skip_serializing_if = "Option::is_none")]
pub vat_id: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "w8Form", default, skip_serializing_if = "Option::is_none")]
pub w8_form: Option<String>,
#[serde(rename = "w9Form", default, skip_serializing_if = "Option::is_none")]
pub w9_form: Option<String>,
#[serde(
rename = "lastUpdatedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_updated_by: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revenue: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lead: Option<f64>,
#[serde(
rename = "droppedCustomer",
default,
skip_serializing_if = "Option::is_none"
)]
pub dropped_customer: Option<f64>,
#[serde(
rename = "clickCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub click_count: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paid: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owned: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetCommissionListResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub commissions: Vec<CommissionListItemResponseDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<CommissionListMetaResponseDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetPayoutListResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub payouts: Vec<PayoutListItemResponseDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<PayoutListMetaResponseDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListAffiliatesResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub affiliates: Vec<OAuthAffiliateListItemResponseDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<AffiliateListMetaResponseDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct OAuthAffiliateListItemResponseDto {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<serde_json::Value>,
#[serde(
rename = "facebookUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub facebook_url: Option<String>,
#[serde(
rename = "instagramUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub instagram_url: Option<String>,
#[serde(
rename = "linkedInUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub linked_in_url: Option<String>,
#[serde(
rename = "twitterUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub twitter_url: Option<String>,
#[serde(
rename = "youtubeUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub youtube_url: Option<String>,
#[serde(
rename = "websiteUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub website_url: Option<String>,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(rename = "campaignIds", default, skip_serializing_if = "Vec::is_empty")]
pub campaign_ids: Vec<String>,
#[serde(rename = "vatId", default, skip_serializing_if = "Option::is_none")]
pub vat_id: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "w8Form", default, skip_serializing_if = "Option::is_none")]
pub w8_form: Option<String>,
#[serde(rename = "w9Form", default, skip_serializing_if = "Option::is_none")]
pub w9_form: Option<String>,
#[serde(
rename = "lastUpdatedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_updated_by: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revenue: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lead: Option<f64>,
#[serde(
rename = "droppedCustomer",
default,
skip_serializing_if = "Option::is_none"
)]
pub dropped_customer: Option<f64>,
#[serde(
rename = "clickCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub click_count: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paid: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owned: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct PayoutListItemResponseDto {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "affiliateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub affiliate_id: Option<String>,
#[serde(
rename = "campaignId",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "payoutMonth",
default,
skip_serializing_if = "Option::is_none"
)]
pub payout_month: Option<String>,
#[serde(rename = "dueAt", default, skip_serializing_if = "Option::is_none")]
pub due_at: Option<String>,
#[serde(rename = "paidAt", default, skip_serializing_if = "Option::is_none")]
pub paid_at: Option<String>,
#[serde(rename = "paidMeta", default, skip_serializing_if = "Option::is_none")]
pub paid_meta: Option<serde_json::Value>,
#[serde(
rename = "paidMethod",
default,
skip_serializing_if = "Option::is_none"
)]
pub paid_method: Option<String>,
#[serde(rename = "altId", default, skip_serializing_if = "Option::is_none")]
pub alt_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(
rename = "isMigrated",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_migrated: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub campaign: Option<String>,
#[serde(
rename = "affiliateName",
default,
skip_serializing_if = "Option::is_none"
)]
pub affiliate_name: Option<String>,
#[serde(
rename = "affiliateEmail",
default,
skip_serializing_if = "Option::is_none"
)]
pub affiliate_email: Option<String>,
#[serde(
rename = "payoutMethod",
default,
skip_serializing_if = "Option::is_none"
)]
pub payout_method: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affiliate: Option<OAuthAffiliateListItemResponseDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct PayoutListMetaResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
}