Greyhounds.WebApi

<back to all web services

FindStimulations

The following routes are available for this service:
All Verbs/stimulations
import 'package:servicestack/servicestack.dart';

class PaginatedQuery implements IConvertible
{
    int currentPage = 0;
    int pageSize = 0;

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

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

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

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

class StimulationStatus
{
    static const StimulationStatus Pending = const StimulationStatus._(0);
    static const StimulationStatus Canceled = const StimulationStatus._(1);
    static const StimulationStatus Executed = const StimulationStatus._(2);
    static const StimulationStatus Rejected = const StimulationStatus._(3);

    final int _value;
    const StimulationStatus._(this._value);
    int get value => _value;
    static List<StimulationStatus> get values => const [Pending,Canceled,Executed,Rejected];
}

class FindStimulations extends PaginatedQuery implements IConvertible
{
    String? targetQry;
    String? prizeQry;
    StimulationStatus? status;
    DateTime periodFrom = DateTime(0);
    DateTime periodTo = DateTime(0);

    FindStimulations({this.targetQry,this.prizeQry,this.status,this.periodFrom,this.periodTo});
    FindStimulations.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        targetQry = json['targetQry'];
        prizeQry = json['prizeQry'];
        status = JsonConverters.fromJson(json['status'],'StimulationStatus',context!);
        periodFrom = JsonConverters.fromJson(json['periodFrom'],'DateTime',context!);
        periodTo = JsonConverters.fromJson(json['periodTo'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'targetQry': targetQry,
        'prizeQry': prizeQry,
        'status': JsonConverters.toJson(status,'StimulationStatus',context!),
        'periodFrom': JsonConverters.toJson(periodFrom,'DateTime',context!),
        'periodTo': JsonConverters.toJson(periodTo,'DateTime',context!)
    });

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

class RoundStatus
{
    static const RoundStatus Pending = const RoundStatus._(0);
    static const RoundStatus InProgress = const RoundStatus._(1);
    static const RoundStatus Ended = const RoundStatus._(2);

    final int _value;
    const RoundStatus._(this._value);
    int get value => _value;
    static List<RoundStatus> get values => const [Pending,InProgress,Ended];
}

class RoundStats implements IConvertible
{
    String? id;
    DateTime createdAt = DateTime(0);
    RoundStatus status;
    int canceledCount = 0;
    double canceledAmount = 0;
    int betCount = 0;
    double stakeAmount = 0;
    double winningsAmount = 0;
    double balanceAmount = 0;
    double balancePct = 0;

    RoundStats({this.id,this.createdAt,this.status,this.canceledCount,this.canceledAmount,this.betCount,this.stakeAmount,this.winningsAmount,this.balanceAmount,this.balancePct});
    RoundStats.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        status = JsonConverters.fromJson(json['status'],'RoundStatus',context!);
        canceledCount = json['canceledCount'];
        canceledAmount = JsonConverters.toDouble(json['canceledAmount']);
        betCount = json['betCount'];
        stakeAmount = JsonConverters.toDouble(json['stakeAmount']);
        winningsAmount = JsonConverters.toDouble(json['winningsAmount']);
        balanceAmount = JsonConverters.toDouble(json['balanceAmount']);
        balancePct = JsonConverters.toDouble(json['balancePct']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'status': JsonConverters.toJson(status,'RoundStatus',context!),
        'canceledCount': canceledCount,
        'canceledAmount': canceledAmount,
        'betCount': betCount,
        'stakeAmount': stakeAmount,
        'winningsAmount': winningsAmount,
        'balanceAmount': balanceAmount,
        'balancePct': balancePct
    };

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

class PaginatedResult<T> implements IConvertible
{
    List<RoundStats>? data;
    int currentPage = 0;
    int pageSize = 0;
    int totalItems = 0;
    int totalPages = 0;

    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<RoundStats>',context!);
        currentPage = json['currentPage'];
        pageSize = json['pageSize'];
        totalItems = json['totalItems'];
        totalPages = json['totalPages'];
        return this;
    }

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

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

TypeContext _ctx = TypeContext(library: 'grh1.api.bettor.webhop.biz', types: <String, TypeInfo> {
    'PaginatedQuery': TypeInfo(TypeOf.Class, create:() => PaginatedQuery()),
    'StimulationStatus': TypeInfo(TypeOf.Enum, enumValues:StimulationStatus.values),
    'FindStimulations': TypeInfo(TypeOf.Class, create:() => FindStimulations()),
    'RoundStatus': TypeInfo(TypeOf.Enum, enumValues:RoundStatus.values),
    'RoundStats': TypeInfo(TypeOf.Class, create:() => RoundStats()),
    'PaginatedResult<T>': TypeInfo(TypeOf.Class, create:() => PaginatedResult<T>()),
    'List<RoundStats>': TypeInfo(TypeOf.Class, create:() => <RoundStats>[]),
});

Dart FindStimulations DTOs

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

HTTP + OTHER

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

POST /stimulations HTTP/1.1 
Host: grh1.api.bettor.webhop.biz 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"targetQry":"String","prizeQry":"String","status":0,"periodFrom":"0001-01-01T00:00:00.0000000Z","periodTo":"0001-01-01T00:00:00.0000000Z","currentPage":0,"pageSize":0}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"data":[{"id":"String","scheduledAt":"0001-01-01T00:00:00.0000000Z","scheduledBy":"String","target":{"id":"String","value":"String"},"pool":{"id":0,"name":"String"},"cancellationInfo":{"canceledBy":"String","canceledAt":"0001-01-01T00:00:00.0000000Z"},"confirmationInfo":{"confirmedAt":"0001-01-01T00:00:00.0000000Z","slipId":"String","betId":"String","amountAwarded":0},"status":0,"failInfo":{"failures":{"String":"String"},"lastFailAt":"0001-01-01T00:00:00.0000000Z","failureCount":0}}],"currentPage":0,"pageSize":0,"totalItems":0,"totalPages":0}