Six4Win.WebApi

<back to all web services

FindWinStats

The following routes are available for this service:
All Verbs/qry/win-stats
import Foundation
import ServiceStack

public class FindWinStats : PaginatedQueryRequest
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class PaginatedQueryRequest : QueryRequest
{
    public var currentPage:Int
    public var pageSize:Int

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case currentPage
        case pageSize
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        currentPage = try container.decodeIfPresent(Int.self, forKey: .currentPage)
        pageSize = try container.decodeIfPresent(Int.self, forKey: .pageSize)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if currentPage != nil { try container.encode(currentPage, forKey: .currentPage) }
        if pageSize != nil { try container.encode(pageSize, forKey: .pageSize) }
    }
}

public class QueryRequest : Codable
{
    public var qry:[String:String] = [:]

    required public init(){}
}

public class PaginatedResult<T : Codable> : IPaginatedResult, Codable
{
    public var data:[Bet] = []
    public var currentPage:Int
    public var pageSize:Int
    public var totalItems:Int
    public var totalPages:Int

    required public init(){}
}

public class Bet : Codable
{
    public var id:String
    public var ordinalOfAvailableRoundToAssignTo:Int
    public var content:String
    public var stake:Double
    public var payload:[String:String]

    required public init(){}
}


Swift FindWinStats 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 /qry/win-stats HTTP/1.1 
Host: s4w2.api.bettor.cc 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	currentPage: 0,
	pageSize: 0,
	qry: 
	{
		String: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	[
		{
			id: 0,
			date: 0001-01-01,
			hour: 0,
			c10000: 0,
			a10000: 0,
			c7500: 0,
			a7500: 0,
			c5000: 0,
			a5000: 0,
			c2500: 0,
			a2500: 0,
			c1000: 0,
			a1000: 0,
			c500: 0,
			a500: 0,
			c300: 0,
			a300: 0,
			c200: 0,
			a200: 0,
			c150: 0,
			a150: 0,
			c100: 0,
			a100: 0,
			c90: 0,
			a90: 0,
			c80: 0,
			a80: 0,
			c70: 0,
			a70: 0,
			c60: 0,
			a60: 0,
			c50: 0,
			a50: 0,
			c40: 0,
			a40: 0,
			c30: 0,
			a30: 0,
			c25: 0,
			a25: 0,
			c20: 0,
			a20: 0,
			c15: 0,
			a15: 0,
			c10: 0,
			a10: 0,
			c9: 0,
			a9: 0,
			c8: 0,
			a8: 0,
			c7: 0,
			a7: 0,
			c6: 0,
			a6: 0,
			c5: 0,
			a5: 0,
			c4: 0,
			a4: 0,
			c3: 0,
			a3: 0,
			c2: 0,
			a2: 0,
			c1: 0,
			a1: 0,
			cC4: 0,
			aC4: 0,
			cC5: 0,
			aC5: 0,
			cC6: 0,
			aC6: 0,
			cC7: 0,
			aC7: 0,
			cC8: 0,
			aC8: 0,
			cC9: 0,
			aC9: 0,
			cC10: 0,
			aC10: 0,
			cC11: 0,
			aC11: 0,
			cC12: 0,
			aC12: 0,
			cC13: 0,
			aC13: 0,
			cC14: 0,
			aC14: 0,
			cC15: 0,
			aC15: 0,
			cC16: 0,
			aC16: 0,
			cC17: 0,
			aC17: 0,
			cC18: 0,
			aC18: 0,
			cC19: 0,
			aC19: 0,
			cjP5: 0,
			ajP5: 0,
			clcp: 0,
			alcp: 0,
			cgcp: 0,
			agcp: 0,
			csWin: 0,
			asWin: 0
		}
	],
	currentPage: 0,
	pageSize: 0,
	totalItems: 0,
	totalPages: 0
}