/* Options: Date: 2026-11-07 04:29:08 Version: 10.42 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w1.api.bettor.webhop.biz //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ConfigureSuperWin.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class PeriodOfDay implements IConvertible { Duration? start; Duration? end; PeriodOfDay({this.start,this.end}); PeriodOfDay.fromJson(Map json) { fromMap(json); } fromMap(Map json) { start = JsonConverters.fromJson(json['start'],'Duration',context!); end = JsonConverters.fromJson(json['end'],'Duration',context!); return this; } Map toJson() => { 'start': JsonConverters.toJson(start,'Duration',context!), 'end': JsonConverters.toJson(end,'Duration',context!) }; getTypeName() => "PeriodOfDay"; TypeContext? context = _ctx; } class WebPlayerWinnerCooldownPolicyConfig implements IConvertible { bool? isActive; int cooldownIntervalInDays = 0; WebPlayerWinnerCooldownPolicyConfig({this.isActive,this.cooldownIntervalInDays=0}); WebPlayerWinnerCooldownPolicyConfig.fromJson(Map json) { fromMap(json); } fromMap(Map json) { isActive = json['isActive']; cooldownIntervalInDays = json['cooldownIntervalInDays'] ?? 0; return this; } Map toJson() => { 'isActive': isActive, 'cooldownIntervalInDays': cooldownIntervalInDays }; getTypeName() => "WebPlayerWinnerCooldownPolicyConfig"; TypeContext? context = _ctx; } class LocationOptimizationLevel { static const LocationOptimizationLevel None = const LocationOptimizationLevel._(0); static const LocationOptimizationLevel Low = const LocationOptimizationLevel._(1); static const LocationOptimizationLevel Medium = const LocationOptimizationLevel._(2); static const LocationOptimizationLevel High = const LocationOptimizationLevel._(3); final int _value; const LocationOptimizationLevel._(this._value); int get value => _value; static List get values => const [None,Low,Medium,High]; } class SuperWinConfig implements IConvertible { bool? isActive; double stakePct = 0; int minPrizesPerDay = 0; int maxPrizesPerDay = 0; PeriodOfDay? activePeriod; double minDailyPrizeInPct = 0; int minIntervalBetweenMultiplePrizesInMinutes = 0; bool? allowSuperWinForSpecialBets; WebPlayerWinnerCooldownPolicyConfig? webPlayerWinnerCooldownPolicy; LocationOptimizationLevel? locationOptimizationLevel; LocationOptimizationLevel? playerOptimizationLevel; SuperWinConfig({this.isActive,this.stakePct=0,this.minPrizesPerDay=0,this.maxPrizesPerDay=0,this.activePeriod,this.minDailyPrizeInPct=0,this.minIntervalBetweenMultiplePrizesInMinutes=0,this.allowSuperWinForSpecialBets,this.webPlayerWinnerCooldownPolicy,this.locationOptimizationLevel,this.playerOptimizationLevel}); SuperWinConfig.fromJson(Map json) { fromMap(json); } fromMap(Map json) { isActive = json['isActive']; stakePct = JsonConverters.toDouble(json['stakePct']) ?? 0; minPrizesPerDay = json['minPrizesPerDay'] ?? 0; maxPrizesPerDay = json['maxPrizesPerDay'] ?? 0; activePeriod = JsonConverters.fromJson(json['activePeriod'],'PeriodOfDay',context!); minDailyPrizeInPct = JsonConverters.toDouble(json['minDailyPrizeInPct']) ?? 0; minIntervalBetweenMultiplePrizesInMinutes = json['minIntervalBetweenMultiplePrizesInMinutes'] ?? 0; allowSuperWinForSpecialBets = json['allowSuperWinForSpecialBets']; webPlayerWinnerCooldownPolicy = JsonConverters.fromJson(json['webPlayerWinnerCooldownPolicy'],'WebPlayerWinnerCooldownPolicyConfig',context!); locationOptimizationLevel = JsonConverters.fromJson(json['locationOptimizationLevel'],'LocationOptimizationLevel',context!); playerOptimizationLevel = JsonConverters.fromJson(json['playerOptimizationLevel'],'LocationOptimizationLevel',context!); return this; } Map toJson() => { 'isActive': isActive, 'stakePct': stakePct, 'minPrizesPerDay': minPrizesPerDay, 'maxPrizesPerDay': maxPrizesPerDay, 'activePeriod': JsonConverters.toJson(activePeriod,'PeriodOfDay',context!), 'minDailyPrizeInPct': minDailyPrizeInPct, 'minIntervalBetweenMultiplePrizesInMinutes': minIntervalBetweenMultiplePrizesInMinutes, 'allowSuperWinForSpecialBets': allowSuperWinForSpecialBets, 'webPlayerWinnerCooldownPolicy': JsonConverters.toJson(webPlayerWinnerCooldownPolicy,'WebPlayerWinnerCooldownPolicyConfig',context!), 'locationOptimizationLevel': JsonConverters.toJson(locationOptimizationLevel,'LocationOptimizationLevel',context!), 'playerOptimizationLevel': JsonConverters.toJson(playerOptimizationLevel,'LocationOptimizationLevel',context!) }; getTypeName() => "SuperWinConfig"; TypeContext? context = _ctx; } // @Route("/cmd/configure/super-win", "POST") class ConfigureSuperWin implements IReturn, IConvertible, IPost { String? id; SuperWinConfig? configuration; ConfigureSuperWin({this.id,this.configuration}); ConfigureSuperWin.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; configuration = JsonConverters.fromJson(json['configuration'],'SuperWinConfig',context!); return this; } Map toJson() => { 'id': id, 'configuration': JsonConverters.toJson(configuration,'SuperWinConfig',context!) }; createResponse() => ResponseStatus(); getResponseTypeName() => "ResponseStatus"; getTypeName() => "ConfigureSuperWin"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 's4w1.api.bettor.webhop.biz', types: { 'PeriodOfDay': TypeInfo(TypeOf.Class, create:() => PeriodOfDay()), 'WebPlayerWinnerCooldownPolicyConfig': TypeInfo(TypeOf.Class, create:() => WebPlayerWinnerCooldownPolicyConfig()), 'LocationOptimizationLevel': TypeInfo(TypeOf.Enum, enumValues:LocationOptimizationLevel.values), 'SuperWinConfig': TypeInfo(TypeOf.Class, create:() => SuperWinConfig()), 'ConfigureSuperWin': TypeInfo(TypeOf.Class, create:() => ConfigureSuperWin()), });