/* Options: Date: 2026-11-07 04:16:44 Version: 10.42 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w1.api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ConfigureSuperWin.* //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, PartialEq, Default)] #[serde(default)] pub struct PeriodOfDay { pub start: String, pub end: String, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct WebPlayerWinnerCooldownPolicyConfig { #[serde(rename = "isActive")] pub is_active: bool, #[serde(rename = "cooldownIntervalInDays")] pub cooldown_interval_in_days: i32, } #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum LocationOptimizationLevel { #[default] None = 0, Low = 1, Medium = 2, High = 3, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct SuperWinConfig { #[serde(rename = "isActive")] pub is_active: bool, #[serde(rename = "stakePct")] pub stake_pct: f32, #[serde(rename = "minPrizesPerDay")] pub min_prizes_per_day: i32, #[serde(rename = "maxPrizesPerDay")] pub max_prizes_per_day: i32, #[serde(rename = "activePeriod")] #[serde(default, skip_serializing_if = "Option::is_none")] pub active_period: Option, #[serde(rename = "minDailyPrizeInPct")] pub min_daily_prize_in_pct: f32, #[serde(rename = "minIntervalBetweenMultiplePrizesInMinutes")] pub min_interval_between_multiple_prizes_in_minutes: i32, #[serde(rename = "allowSuperWinForSpecialBets")] pub allow_super_win_for_special_bets: bool, #[serde(rename = "webPlayerWinnerCooldownPolicy")] #[serde(default, skip_serializing_if = "Option::is_none")] pub web_player_winner_cooldown_policy: Option, #[serde(rename = "locationOptimizationLevel")] pub location_optimization_level: LocationOptimizationLevel, #[serde(rename = "playerOptimizationLevel")] pub player_optimization_level: LocationOptimizationLevel, } #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum ResponseStatus { #[default] Failure = 0, Success = 1, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ResponseStatus { #[serde(rename = "errorCode")] pub error_code: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[serde(rename = "stackTrace")] #[serde(default, skip_serializing_if = "Option::is_none")] pub stack_trace: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub errors: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub meta: Option>, } // Route("/cmd/configure/super-win", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ConfigureSuperWin { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub configuration: Option, } impl IRequest for ConfigureSuperWin { const NAME: &'static str = "ConfigureSuperWin"; const VERB: &'static str = "POST"; } impl IReturn for ConfigureSuperWin { type Response = ResponseStatus; }