Six4Win.WebApi

<back to all web services

ConfigureGlobalCodePot

Requires Authentication
The following routes are available for this service:
POST/cmd/configure/global-code-pot
# 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 GCPWinnerCooldownPolicyConfig
    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 GCPConfiguration
    include ServiceStack::DTO

    # @return [TrueClass]
    attr_accessor :is_active
    # @return [ThresholdInterval]
    attr_accessor :interval
    # @return [BigDecimal]
    attr_accessor :pct
    # @return [BigDecimal]
    attr_accessor :reserve_pct
    # @return [BigDecimal]
    attr_accessor :total_pct
    # @return [GCPWinnerCooldownPolicyConfig]
    attr_accessor :winner_cooldown_policy

    def self.properties
        {
            is_active: { name: 'isActive' },
            interval: { name: 'interval', type: ThresholdInterval },
            pct: { name: 'pct' },
            reserve_pct: { name: 'reservePct' },
            total_pct: { name: 'totalPct' },
            winner_cooldown_policy: { name: 'winnerCooldownPolicy', type: GCPWinnerCooldownPolicyConfig },
        }
    end

end

class ConfigureGlobalCodePot
    include ServiceStack::DTO

    # @return [String]
    attr_accessor :id
    # @return [GCPConfiguration]
    attr_accessor :configuration

    def self.properties
        {
            id: { name: 'id' },
            configuration: { name: 'configuration', type: GCPConfiguration },
        }
    end

    def response_type() = ServiceStack::ResponseStatus
    def get_type_name() = 'ConfigureGlobalCodePot'
end

Ruby ConfigureGlobalCodePot DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /cmd/configure/global-code-pot HTTP/1.1 
Host: s4w2.api.bettor.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	configuration: 
	{
		isActive: False,
		interval: 
		{
			start: 0,
			end: 0
		},
		pct: 0,
		reservePct: 0,
		totalPct: 0,
		winnerCooldownPolicy: 
		{
			isActive: False,
			cooldownIntervalInDays: 0
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	errorCode: String,
	message: String,
	stackTrace: String,
	errors: 
	[
		{
			errorCode: String,
			fieldName: String,
			message: String,
			meta: 
			{
				String: String
			}
		}
	],
	meta: 
	{
		String: String
	}
}