| All Verbs | /qry/lcp/accumulations |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
class ThresholdInterval
include ServiceStack::DTO
# @return [BigDecimal]
attr_accessor :start
# @return [BigDecimal]
attr_accessor :end
def self.properties
{
start: { name: 'start' },
end: { name: 'end' },
}
end
end
class LCPConfiguration
include ServiceStack::DTO
# @return [TrueClass]
attr_accessor :is_active
# @return [ThresholdInterval]
attr_accessor :interval
# @return [BigDecimal]
attr_accessor :pct
def self.properties
{
is_active: { name: 'isActive' },
interval: { name: 'interval', type: ThresholdInterval },
pct: { name: 'pct' },
}
end
end
class BettingApp
include ServiceStack::DTO
# @return [String]
attr_accessor :name
# @return [String]
attr_accessor :version
def self.properties
{
name: { name: 'name' },
version: { name: 'version' },
}
end
end
class Ref
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :val
def self.properties
{
id: { name: 'id' },
val: { name: 'val' },
}
end
end
class RefEx < Ref
# @return [RecordDictionary]
attr_accessor :data
def self.properties
{
data: { name: 'data', type: RecordDictionary },
}
end
end
class Origin
include ServiceStack::DTO
# @return [BettingApp]
attr_accessor :application
# @return [String]
attr_accessor :ip
# @return [RefEx]
attr_accessor :organization
# @return [Ref]
attr_accessor :region
# @return [Ref]
attr_accessor :location_group
# @return [RefEx]
attr_accessor :location
# @return [RefEx]
attr_accessor :device
# @return [Ref]
attr_accessor :clerk
def self.properties
{
application: { name: 'application', type: BettingApp },
ip: { name: 'ip' },
organization: { name: 'organization', type: RefEx },
region: { name: 'region', type: Ref },
location_group: { name: 'locationGroup', type: Ref },
location: { name: 'location', type: RefEx },
device: { name: 'device', type: RefEx },
clerk: { name: 'clerk', type: Ref },
}
end
end
class WinnerByCode
include ServiceStack::DTO
# @return [String]
attr_accessor :round_id
# @return [DateTime]
attr_accessor :drawn_at_utc
# @return [String]
attr_accessor :slip_id
# @return [String]
attr_accessor :bet_id
# @return [String]
attr_accessor :code
# @return [BigDecimal]
attr_accessor :amount
# @return [Origin]
attr_accessor :origin
# @return [Ref]
attr_accessor :bettor
# @return [String]
attr_accessor :location_address_or_bettor_info
def self.properties
{
round_id: { name: 'roundId' },
drawn_at_utc: { name: 'drawnAtUtc', type: DateTime },
slip_id: { name: 'slipId' },
bet_id: { name: 'betId' },
code: { name: 'code' },
amount: { name: 'amount' },
origin: { name: 'origin', type: Origin },
bettor: { name: 'bettor', type: Ref },
location_address_or_bettor_info: { name: 'locationAddressOrBettorInfo' },
}
end
end
class LCPAccumulation
include ServiceStack::DTO
# @return [String]
attr_accessor :loc_id
# @return [String]
attr_accessor :loc_name
# @return [BigDecimal]
attr_accessor :amount
# @return [BigDecimal]
attr_accessor :threshold
# @return [LCPConfiguration]
attr_accessor :cfg
# @return [Queue]
attr_accessor :winners
def self.properties
{
loc_id: { name: 'locId' },
loc_name: { name: 'locName' },
amount: { name: 'amount' },
threshold: { name: 'threshold' },
cfg: { name: 'cfg', type: LCPConfiguration },
winners: { name: 'winners', type: [WinnerByCode] },
}
end
end
class LocalCodePotAccumulations
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [Dictionary]
attr_accessor :accumulations
# @return [String]
attr_accessor :current_round_id
# @return [String]
attr_accessor :inert_code
def self.properties
{
id: { name: 'id' },
accumulations: { name: 'accumulations', type: { String => LCPAccumulation } },
current_round_id: { name: 'currentRoundId' },
inert_code: { name: 'inertCode' },
}
end
end
class GetLocalCodePotAccumulations
include ServiceStack::DTO
def response_type() = LocalCodePotAccumulations
def get_type_name() = 'GetLocalCodePotAccumulations'
end
class RecordDictionary < Hash
end
Ruby GetLocalCodePotAccumulations DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /qry/lcp/accumulations HTTP/1.1
Host: s4w1.api.bettor.webhop.biz
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"id":"String","accumulations":{"String":{"locId":"String","locName":"String","amount":0,"threshold":0,"cfg":{"isActive":false,"interval":{"start":0,"end":0},"pct":0},"winners":[]}},"currentRoundId":"String","inertCode":"String"}