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: 'test_do_services.klokgroep.nl', 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 .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/GetAnalyticsInfo HTTP/1.1
Host: test-do-services.klokgroep.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetAnalyticsInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Month>0001-01-01T00:00:00</Month>
<Type>String</Type>
<Op>String</Op>
<ApiKey>String</ApiKey>
<UserId>String</UserId>
<Ip>String</Ip>
</GetAnalyticsInfo>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetAnalyticsInfoResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Months xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Months>
<Result>
<Id>0</Id>
<DateTime>0001-01-01T00:00:00</DateTime>
<Browser>String</Browser>
<Device>String</Device>
<Bot>String</Bot>
<Op>String</Op>
<UserId>String</UserId>
<UserName>String</UserName>
<ApiKey>String</ApiKey>
<Ip>String</Ip>
</Result>
<ResponseStatus>
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>
</GetAnalyticsInfoResponse>