import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
// @DataContract
class AnalyticsLogInfo implements IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
DateTime? dateTime;
// @DataMember(Order=3)
String? browser;
// @DataMember(Order=4)
String? device;
// @DataMember(Order=5)
String? bot;
// @DataMember(Order=6)
String? op;
// @DataMember(Order=7)
String? userId;
// @DataMember(Order=8)
String? userName;
// @DataMember(Order=9)
String? apiKey;
// @DataMember(Order=10)
String? ip;
AnalyticsLogInfo({this.id,this.dateTime,this.browser,this.device,this.bot,this.op,this.userId,this.userName,this.apiKey,this.ip});
AnalyticsLogInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
dateTime = JsonConverters.fromJson(json['dateTime'],'DateTime',context!);
browser = json['browser'];
device = json['device'];
bot = json['bot'];
op = json['op'];
userId = json['userId'];
userName = json['userName'];
apiKey = json['apiKey'];
ip = json['ip'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'dateTime': JsonConverters.toJson(dateTime,'DateTime',context!),
'browser': browser,
'device': device,
'bot': bot,
'op': op,
'userId': userId,
'userName': userName,
'apiKey': apiKey,
'ip': ip
};
getTypeName() => "AnalyticsLogInfo";
TypeContext? context = _ctx;
}
// @DataContract
class GetAnalyticsInfoResponse implements IConvertible
{
// @DataMember(Order=1)
List<String>? months;
// @DataMember(Order=2)
AnalyticsLogInfo? result;
// @DataMember(Order=3)
ResponseStatus? responseStatus;
GetAnalyticsInfoResponse({this.months,this.result,this.responseStatus});
GetAnalyticsInfoResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
months = JsonConverters.fromJson(json['months'],'List<String>',context!);
result = JsonConverters.fromJson(json['result'],'AnalyticsLogInfo',context!);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'months': JsonConverters.toJson(months,'List<String>',context!),
'result': JsonConverters.toJson(result,'AnalyticsLogInfo',context!),
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetAnalyticsInfoResponse";
TypeContext? context = _ctx;
}
// @DataContract
class GetAnalyticsInfo implements IGet, IConvertible
{
// @DataMember(Order=1)
DateTime? month;
// @DataMember(Order=2)
String? type;
// @DataMember(Order=3)
String? op;
// @DataMember(Order=4)
String? apiKey;
// @DataMember(Order=5)
String? userId;
// @DataMember(Order=6)
String? ip;
GetAnalyticsInfo({this.month,this.type,this.op,this.apiKey,this.userId,this.ip});
GetAnalyticsInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
month = JsonConverters.fromJson(json['month'],'DateTime',context!);
type = json['type'];
op = json['op'];
apiKey = json['apiKey'];
userId = json['userId'];
ip = json['ip'];
return this;
}
Map<String, dynamic> toJson() => {
'month': JsonConverters.toJson(month,'DateTime',context!),
'type': type,
'op': op,
'apiKey': apiKey,
'userId': userId,
'ip': ip
};
getTypeName() => "GetAnalyticsInfo";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'blazordiffusion.com', types: <String, TypeInfo> {
'AnalyticsLogInfo': TypeInfo(TypeOf.Class, create:() => AnalyticsLogInfo()),
'GetAnalyticsInfoResponse': TypeInfo(TypeOf.Class, create:() => GetAnalyticsInfoResponse()),
'GetAnalyticsInfo': TypeInfo(TypeOf.Class, create:() => GetAnalyticsInfo()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsonl/reply/GetAnalyticsInfo HTTP/1.1
Host: blazordiffusion.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"month":"0001-01-01T00:00:00","type":"String","op":"String","apiKey":"String","userId":"String","ip":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"months":["String"],"result":{"id":0,"dateTime":"0001-01-01T00:00:00","browser":"String","device":"String","bot":"String","op":"String","userId":"String","userName":"String","apiKey":"String","ip":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}