Six4Win.WebApi

<back to all web services

FindWinStats

The following routes are available for this service:
All Verbs/qry/win-stats
import 'package:servicestack/servicestack.dart';

class QueryRequest implements IConvertible
{
    Map<String,String?>? qry = {};

    QueryRequest({this.qry});
    QueryRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        qry = JsonConverters.toStringMap(json['qry']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'qry': qry
    };

    getTypeName() => "QueryRequest";
    TypeContext? context = _ctx;
}

class PaginatedQueryRequest extends QueryRequest implements IConvertible
{
    int? currentPage;
    int? pageSize;

    PaginatedQueryRequest({this.currentPage,this.pageSize});
    PaginatedQueryRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        currentPage = json['currentPage'];
        pageSize = json['pageSize'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'currentPage': currentPage,
        'pageSize': pageSize
    });

    getTypeName() => "PaginatedQueryRequest";
    TypeContext? context = _ctx;
}

class FindWinStats extends PaginatedQueryRequest implements IConvertible
{
    FindWinStats();
    FindWinStats.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "FindWinStats";
    TypeContext? context = _ctx;
}

class Bet implements IConvertible
{
    String? id;
    int? ordinalOfAvailableRoundToAssignTo;
    String? content;
    double? stake;
    Map<String,String?>? payload;

    Bet({this.id,this.ordinalOfAvailableRoundToAssignTo,this.content,this.stake,this.payload});
    Bet.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        ordinalOfAvailableRoundToAssignTo = json['ordinalOfAvailableRoundToAssignTo'];
        content = json['content'];
        stake = JsonConverters.toDouble(json['stake']);
        payload = JsonConverters.toStringMap(json['payload']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'ordinalOfAvailableRoundToAssignTo': ordinalOfAvailableRoundToAssignTo,
        'content': content,
        'stake': stake,
        'payload': payload
    };

    getTypeName() => "Bet";
    TypeContext? context = _ctx;
}

class PaginatedResult<T> implements IPaginatedResult, IConvertible
{
    List<Bet>? data = [];
    int? currentPage;
    int? pageSize;
    int? totalItems;
    int? totalPages;

    PaginatedResult({this.data,this.currentPage,this.pageSize,this.totalItems,this.totalPages});
    PaginatedResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        data = JsonConverters.fromJson(json['data'],'List<Bet>',context!);
        currentPage = json['currentPage'];
        pageSize = json['pageSize'];
        totalItems = json['totalItems'];
        totalPages = json['totalPages'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'data': JsonConverters.toJson(data,'List<Bet>',context!),
        'currentPage': currentPage,
        'pageSize': pageSize,
        'totalItems': totalItems,
        'totalPages': totalPages
    };

    getTypeName() => "PaginatedResult<$T>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 's4w2.api.bettor.cc', types: <String, TypeInfo> {
    'QueryRequest': TypeInfo(TypeOf.Class, create:() => QueryRequest()),
    'PaginatedQueryRequest': TypeInfo(TypeOf.Class, create:() => PaginatedQueryRequest()),
    'FindWinStats': TypeInfo(TypeOf.Class, create:() => FindWinStats()),
    'Bet': TypeInfo(TypeOf.Class, create:() => Bet()),
    'PaginatedResult<T>': TypeInfo(TypeOf.Class, create:() => PaginatedResult<T>()),
    'List<Bet>': TypeInfo(TypeOf.Class, create:() => <Bet>[]),
});

Dart 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
}