/// Options: /// Date: 2026-11-07 04:19:07 /// Version: 10.42 /// Tip: To override a DTO option, remove "/" prefix before updating /// BaseUrl: https://s4w2.api.bettor.webhop.biz /// GlobalNamespace: /// MakePropertiesOptional: False /// AddServiceStackTypes: True /// AddResponseStatus: False /// AddImplicitVersion: /// AddDescriptionAsComments: True //IncludeTypes: GetFeed.* /// ExcludeTypes: /// DefaultImports: const std = @import("std"); /// const std = @import("std"); pub const Ref = struct { id: ?[]const u8 = null, val: ?[]const u8 = null, }; pub const BettingApp = struct { name: ?[]const u8 = null, version: ?[]const u8 = null, }; pub const RefEx = struct { id: ?[]const u8 = null, val: ?[]const u8 = null, data: ?RecordDictionary = null, }; pub const Origin = struct { application: ?BettingApp = null, ip: ?[]const u8 = null, organization: ?RefEx = null, region: ?Ref = null, locationGroup: ?Ref = null, location: ?RefEx = null, device: ?RefEx = null, clerk: ?Ref = null, }; pub fn RecordDictionary(comptime TKey: type, comptime TVal: type) type { _ = TKey; _ = TVal; return struct {}; } pub const CountdownConfiguration = struct { lockdownStepFromEnd: i32 = 0, assertLockdownStepFromEnd: i32 = 0, }; pub const DrawConfiguration = struct { introIntervalInMs: i32 = 0, animationIntervalInMs: i32 = 0, outroIntervalInMs: i32 = 0, }; pub const RTPStrategies = enum(i32) { RNG = 0, Accumulator = 1, }; pub const HappyHourConfiguration = struct { isHappyHour: bool = false, oddsModifier: f64 = 0, roundPoolBonusPct: f64 = 0, useOnlyRoundPoolWithNoOptimizations: bool = false, overrideSyphonCombinationCountPerRoundThreshold: bool = false, syphonCombinationCountPerRoundThresholdPctOverride: f64 = 0, }; pub const RoundConfiguration = struct { coefficients: ?RecordList = null, isDoubleTripleActive: bool = false, isJackpot5Active: bool = false, countdownDurationInSeconds: i32 = 0, countdownConfiguration: ?CountdownConfiguration = null, drawConfiguration: ?DrawConfiguration = null, resultsDurationInSeconds: i32 = 0, rtpStrategy: ?RTPStrategies = null, happyHourConfiguration: ?HappyHourConfiguration = null, }; pub fn RecordList(comptime T: type) type { _ = T; return struct { pub const ss_collection = "items"; items: []T = &.{}, }; pub const RoundStatus = enum(i32) { Pending = 0, InProgress = 1, Ended = 2, }; pub const JackPot5Winner = struct { betId: ?[]const u8 = null, nrOfCombinations: i32 = 0, winningsAmount: f64 = 0, origin: ?Origin = null, bettor: ?Ref = null, payload: ?std.json.Value = null, }; pub const Jackpot5Info = struct { isHit: bool = false, amountAccumulated: f64 = 0, amountAwarded: f64 = 0, nrOfWinners: i32 = 0, jackPot5Winners: ?[]JackPot5Winner = null, }; pub const SuperWinInfo = struct { durationInMs: i64 = 0, reasoning: ?[]const u8 = null, }; pub const WinnerByCode = struct { roundId: ?[]const u8 = null, drawnAtUtc: ?[]const u8 = null, slipId: ?[]const u8 = null, betId: ?[]const u8 = null, code: ?[]const u8 = null, amount: f64 = 0, origin: ?Origin = null, bettor: ?Ref = null, locationAddressOrBettorInfo: ?[]const u8 = null, }; pub const GlobalCodePotInfo = struct { isActive: bool = false, isDrawn: bool = false, winner: ?WinnerByCode = null, inertCode: ?[]const u8 = null, accumulation: f64 = 0, }; pub const Stages = enum(i32) { None = 0, Countdown = 1, Processing = 2, Draw = 3, Results = 4, }; pub const RoundProgress = struct { stage: ?Stages = null, step: i32 = 0, steps: i32 = 0, utcTimestamp: ?[]const u8 = null, }; pub const Round = struct { id: ?[]const u8 = null, createdAt: ?[]const u8 = null, updatedAt: ?[]const u8 = null, shouldStartAtUtc: ?[]const u8 = null, startedAtUtc: ?[]const u8 = null, status: ?RoundStatus = null, configuration: ?RoundConfiguration = null, sequence: ?[]const u8 = null, jackpot5Info: ?Jackpot5Info = null, superWinInfo: ?SuperWinInfo = null, globalCodePotInfo: ?GlobalCodePotInfo = null, progress: ?RoundProgress = null, isLocked: bool = false, isCalculated: bool = false, }; pub const SuperWinInfo = struct { isActive: bool = false, winner: ?SuperWinWinner = null, availableAmount: f64 = 0, allPrizesAwarded: bool = false, }; pub const Feed = struct { id: ?[]const u8 = null, round: ?Round = null, lastJackpot5Info: ?Jackpot5Info = null, superWinInfo: ?SuperWinInfo = null, globalCodePotInfo: ?GlobalCodePotInfo = null, }; // @Route("/qry/feed") pub const GetFeed = struct { pub const ss_name = "GetFeed"; pub const ss_verb = "POST"; pub const Response = Feed; };