Required role: | API |
All Verbs | /api/Query/MemberStatistic |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
// @DataContract
abstract class QueryBase
{
// @DataMember(Order=1)
int? Skip;
// @DataMember(Order=2)
int? Take;
// @DataMember(Order=3)
String? OrderBy;
// @DataMember(Order=4)
String? OrderByDesc;
// @DataMember(Order=5)
String? Include;
// @DataMember(Order=6)
String? Fields;
// @DataMember(Order=7)
Map<String,String?>? Meta;
QueryBase({this.Skip,this.Take,this.OrderBy,this.OrderByDesc,this.Include,this.Fields,this.Meta});
QueryBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Skip = json['Skip'];
Take = json['Take'];
OrderBy = json['OrderBy'];
OrderByDesc = json['OrderByDesc'];
Include = json['Include'];
Fields = json['Fields'];
Meta = JsonConverters.toStringMap(json['Meta']);
return this;
}
Map<String, dynamic> toJson() => {
'Skip': Skip,
'Take': Take,
'OrderBy': OrderBy,
'OrderByDesc': OrderByDesc,
'Include': Include,
'Fields': Fields,
'Meta': Meta
};
getTypeName() => "QueryBase";
TypeContext? context = _ctx;
}
abstract class QueryDb<T> extends QueryBase
{
QueryDb();
QueryDb.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() => "QueryDb<$T>";
TypeContext? context = _ctx;
}
class MemberStatisticInstance implements IConvertible
{
int? MemberId;
int? TotalAttendance;
DateTime? LastAttendance;
int? AttendanceThisWeek;
DateTime? DateOfLastBooking;
int? BookingsAttended;
int? RecurringPayments;
int? OverduePayments;
int? RecurringPaymentsPaidInLast30Days;
int? GradingReadiness;
int? Bookings;
DateTime? ModifiedDate;
MemberStatisticInstance({this.MemberId,this.TotalAttendance,this.LastAttendance,this.AttendanceThisWeek,this.DateOfLastBooking,this.BookingsAttended,this.RecurringPayments,this.OverduePayments,this.RecurringPaymentsPaidInLast30Days,this.GradingReadiness,this.Bookings,this.ModifiedDate});
MemberStatisticInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MemberId = json['MemberId'];
TotalAttendance = json['TotalAttendance'];
LastAttendance = JsonConverters.fromJson(json['LastAttendance'],'DateTime',context!);
AttendanceThisWeek = json['AttendanceThisWeek'];
DateOfLastBooking = JsonConverters.fromJson(json['DateOfLastBooking'],'DateTime',context!);
BookingsAttended = json['BookingsAttended'];
RecurringPayments = json['RecurringPayments'];
OverduePayments = json['OverduePayments'];
RecurringPaymentsPaidInLast30Days = json['RecurringPaymentsPaidInLast30Days'];
GradingReadiness = json['GradingReadiness'];
Bookings = json['Bookings'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'MemberId': MemberId,
'TotalAttendance': TotalAttendance,
'LastAttendance': JsonConverters.toJson(LastAttendance,'DateTime',context!),
'AttendanceThisWeek': AttendanceThisWeek,
'DateOfLastBooking': JsonConverters.toJson(DateOfLastBooking,'DateTime',context!),
'BookingsAttended': BookingsAttended,
'RecurringPayments': RecurringPayments,
'OverduePayments': OverduePayments,
'RecurringPaymentsPaidInLast30Days': RecurringPaymentsPaidInLast30Days,
'GradingReadiness': GradingReadiness,
'Bookings': Bookings,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!)
};
getTypeName() => "MemberStatisticInstance";
TypeContext? context = _ctx;
}
// @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="MemberStatistic")
class FindMemberStatistic extends QueryDb<MemberStatisticInstance> implements IConvertible
{
FindMemberStatistic();
FindMemberStatistic.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() => "FindMemberStatistic";
TypeContext? context = _ctx;
}
// @DataContract
class QueryResponse<T> implements IConvertible
{
// @DataMember(Order=1)
int? Offset;
// @DataMember(Order=2)
int? Total;
// @DataMember(Order=3)
List<T>? Results;
// @DataMember(Order=4)
Map<String,String?>? Meta;
// @DataMember(Order=5)
ResponseStatus? ResponseStatus;
QueryResponse({this.Offset,this.Total,this.Results,this.Meta,this.ResponseStatus});
QueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Offset = json['Offset'];
Total = json['Total'];
Results = JsonConverters.fromJson(json['Results'],'List<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!);
Meta = JsonConverters.toStringMap(json['Meta']);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Offset': Offset,
'Total': Total,
'Results': JsonConverters.toJson(Results,'List<T>',context!),
'Meta': Meta,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "QueryResponse<$T>";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: <String, TypeInfo> {
'MemberStatisticInstance': TypeInfo(TypeOf.Class, create:() => MemberStatisticInstance()),
'FindMemberStatistic': TypeInfo(TypeOf.Class, create:() => FindMemberStatistic()),
'List<MemberStatisticInstance>': TypeInfo(TypeOf.Class, create:() => <MemberStatisticInstance>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/Query/MemberStatistic HTTP/1.1
Host: api.clubmanagercentral.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Skip: 0,
Take: 0,
OrderBy: String,
OrderByDesc: String,
Include: String,
Fields: String,
Meta:
{
String: String
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Offset: 0, Total: 0, Results: [ { MemberId: 0, TotalAttendance: 0, LastAttendance: 0001-01-01, AttendanceThisWeek: 0, DateOfLastBooking: 0001-01-01, BookingsAttended: 0, RecurringPayments: 0, OverduePayments: 0, RecurringPaymentsPaidInLast30Days: 0, GradingReadiness: 0, Bookings: 0, ModifiedDate: 0001-01-01 } ], Meta: { String: String }, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }