# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-11-07 02:49:26 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz #MakePartial: True #MakeVirtual: True #MakeInternal: False #MakeDataContractsExtensible: False #AddReturnMarker: True #AddDescriptionAsComments: True #AddDataContractAttributes: False #AddIndexesToDataMembers: False #AddGeneratedCodeAttributes: False #AddResponseStatus: False #AddImplicitVersion: #InitializeCollections: False #ExportValueTypes: False IncludeTypes: RegisterOrganizationIntegrations.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module OrganizationNature FIRST_PARTY = 1 PARTNER = 2 end module WalletPayoutMode REAL_TIME = 0 BATCH_PAYOUT = 1 end module IReturn def response_type() = T def get_type_name() = 'IReturn' end class IntegrationConnection include ServiceStack::DTO # @return [String] attr_accessor :url # @return [String] attr_accessor :credentials_ref def self.properties { url: { name: 'url' }, credentials_ref: { name: 'credentialsRef' }, } end end class IntegrationInstance include ServiceStack::DTO # @return [String] attr_accessor :id # @return [String] attr_accessor :integration_id # @return [IntegrationConnection] attr_accessor :wallet # @return [IntegrationConnection] attr_accessor :partner_api # @return [TrueClass] attr_accessor :slip_forwarding_enabled def self.properties { id: { name: 'id' }, integration_id: { name: 'integrationId' }, wallet: { name: 'wallet', type: IntegrationConnection }, partner_api: { name: 'partnerApi', type: IntegrationConnection }, slip_forwarding_enabled: { name: 'slipForwardingEnabled' }, } end end class OrganizationIntegrations include ServiceStack::DTO # @return [IntegrationInstance] attr_accessor :first_party # @return [IntegrationInstance] attr_accessor :partner def self.properties { first_party: { name: 'firstParty', type: IntegrationInstance }, partner: { name: 'partner', type: IntegrationInstance }, } end end class PayoutPolicy include ServiceStack::DTO # @return [WalletPayoutMode] attr_accessor :self_service # @return [WalletPayoutMode] attr_accessor :personal def self.properties { self_service: { name: 'selfService' }, personal: { name: 'personal' }, } end end # @Route("/cmd/organizations/register/integrations", "POST") class RegisterOrganizationIntegrations include ServiceStack::DTO # @return [String] attr_accessor :id # @return [OrganizationNature] attr_accessor :nature # @return [OrganizationIntegrations] attr_accessor :integrations # @return [PayoutPolicy] attr_accessor :payout_policy def self.properties { id: { name: 'id' }, nature: { name: 'nature' }, integrations: { name: 'integrations', type: OrganizationIntegrations }, payout_policy: { name: 'payoutPolicy', type: PayoutPolicy }, } end def response_type() = ServiceStack::ResponseStatus def get_type_name() = 'RegisterOrganizationIntegrations' def get_method() = 'POST' end