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 .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
Content-Length: length

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

{"data":[{"id":0,"date":"0001-01-01T00:00:00.0000000Z","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}