# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-11-07 04:01:18 Version: 10.42 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w2.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: ConfigureSuperWin.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module LocationOptimizationLevel NONE = 0 LOW = 1 MEDIUM = 2 HIGH = 3 end module ResponseStatus FAILURE = 0 SUCCESS = 1 end module IReturn def response_type() = T def get_type_name() = 'IReturn' end class PeriodOfDay include ServiceStack::DTO # @return [Time] attr_accessor :start # @return [Time] attr_accessor :end def self.properties { start: { name: 'start' }, end: { name: 'end' }, } end end class WebPlayerWinnerCooldownPolicyConfig include ServiceStack::DTO # @return [TrueClass] attr_accessor :is_active # @return [Integer] attr_accessor :cooldown_interval_in_days def self.properties { is_active: { name: 'isActive' }, cooldown_interval_in_days: { name: 'cooldownIntervalInDays' }, } end end class SuperWinConfig include ServiceStack::DTO # @return [TrueClass] attr_accessor :is_active # @return [Float] attr_accessor :stake_pct # @return [Integer] attr_accessor :min_prizes_per_day # @return [Integer] attr_accessor :max_prizes_per_day # @return [PeriodOfDay] attr_accessor :active_period # @return [Float] attr_accessor :min_daily_prize_in_pct # @return [Integer] attr_accessor :min_interval_between_multiple_prizes_in_minutes # @return [TrueClass] attr_accessor :allow_super_win_for_special_bets # @return [WebPlayerWinnerCooldownPolicyConfig] attr_accessor :web_player_winner_cooldown_policy # @return [LocationOptimizationLevel] attr_accessor :location_optimization_level # @return [LocationOptimizationLevel] attr_accessor :player_optimization_level def self.properties { is_active: { name: 'isActive' }, stake_pct: { name: 'stakePct' }, min_prizes_per_day: { name: 'minPrizesPerDay' }, max_prizes_per_day: { name: 'maxPrizesPerDay' }, active_period: { name: 'activePeriod', type: PeriodOfDay }, min_daily_prize_in_pct: { name: 'minDailyPrizeInPct' }, min_interval_between_multiple_prizes_in_minutes: { name: 'minIntervalBetweenMultiplePrizesInMinutes' }, allow_super_win_for_special_bets: { name: 'allowSuperWinForSpecialBets' }, web_player_winner_cooldown_policy: { name: 'webPlayerWinnerCooldownPolicy', type: WebPlayerWinnerCooldownPolicyConfig }, location_optimization_level: { name: 'locationOptimizationLevel' }, player_optimization_level: { name: 'playerOptimizationLevel' }, } end end # @DataContract class ResponseStatus include ServiceStack::DTO # @DataMember(Order=1) # @return [String] attr_accessor :error_code # @DataMember(Order=2) # @return [String] attr_accessor :message # @DataMember(Order=3) # @return [String] attr_accessor :stack_trace # @DataMember(Order=4) # @return [List] attr_accessor :errors # @DataMember(Order=5) # @return [Dictionary] attr_accessor :meta def self.properties { error_code: { name: 'errorCode' }, message: { name: 'message' }, stack_trace: { name: 'stackTrace' }, errors: { name: 'errors', type: [ServiceStack::ResponseError] }, meta: { name: 'meta' }, } end end # @Route("/cmd/configure/super-win", "POST") class ConfigureSuperWin include ServiceStack::DTO # @return [String] attr_accessor :id # @return [SuperWinConfig] attr_accessor :configuration def self.properties { id: { name: 'id' }, configuration: { name: 'configuration', type: SuperWinConfig }, } end def response_type() = ResponseStatus def get_type_name() = 'ConfigureSuperWin' def get_method() = 'POST' end