/* Options: Date: 2026-11-07 02:49:30 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RegisterOrganizationIntegrations.* //ExcludeTypes: //DefaultImports: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum OrganizationNature { #[default] FirstParty = 1, Partner = 2, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct IntegrationConnection { #[serde(default, skip_serializing_if = "Option::is_none")] pub url: Option, #[serde(rename = "credentialsRef")] #[serde(default, skip_serializing_if = "Option::is_none")] pub credentials_ref: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct IntegrationInstance { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(rename = "integrationId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub integration_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub wallet: Option, #[serde(rename = "partnerApi")] #[serde(default, skip_serializing_if = "Option::is_none")] pub partner_api: Option, #[serde(rename = "slipForwardingEnabled")] pub slip_forwarding_enabled: bool, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct OrganizationIntegrations { #[serde(rename = "firstParty")] #[serde(default, skip_serializing_if = "Option::is_none")] pub first_party: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub partner: Option, } #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum WalletPayoutMode { #[default] RealTime = 0, BatchPayout = 1, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct PayoutPolicy { #[serde(rename = "selfService")] pub self_service: WalletPayoutMode, pub personal: WalletPayoutMode, } // Route("/cmd/organizations/register/integrations", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RegisterOrganizationIntegrations { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, pub nature: OrganizationNature, #[serde(default, skip_serializing_if = "Option::is_none")] pub integrations: Option, #[serde(rename = "payoutPolicy")] #[serde(default, skip_serializing_if = "Option::is_none")] pub payout_policy: Option, } impl IRequest for RegisterOrganizationIntegrations { const NAME: &'static str = "RegisterOrganizationIntegrations"; const VERB: &'static str = "POST"; } impl IReturn for RegisterOrganizationIntegrations { type Response = ResponseStatus; }