import 'package:servicestack/servicestack.dart';
class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
/**
* The API Key required for authentication
*/
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
String? apiKey;
/**
* Latitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
double? latitude;
/**
* Longitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
double? longitude;
ApiServiceRequest({this.apiKey,this.latitude,this.longitude});
ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
apiKey = json['apiKey'];
latitude = JsonConverters.toDouble(json['latitude']);
longitude = JsonConverters.toDouble(json['longitude']);
return this;
}
Map<String, dynamic> toJson() => {
'apiKey': apiKey,
'latitude': latitude,
'longitude': longitude
};
getTypeName() => "ApiServiceRequest";
TypeContext? context = _ctx;
}
class ApiServiceResponse implements IServiceResponse, IConvertible
{
/**
* Information about the response.
*/
// @ApiMember(Description="Information about the response.", IsRequired=true)
String? description;
/**
* Heading or summary of the response.
*/
// @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
String? heading;
/**
* Did the intended operation for this response complete successfully?
*/
// @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
bool? wasSuccessful;
ResponseStatus? responseStatus;
ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.responseStatus});
ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
description = json['description'];
heading = json['heading'];
wasSuccessful = json['wasSuccessful'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'description': description,
'heading': heading,
'wasSuccessful': wasSuccessful,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "ApiServiceResponse";
TypeContext? context = _ctx;
}
class ClientData implements IConvertible
{
String? firstName;
String? surname;
String? email;
String? mobileNumber;
String? address1;
String? address2;
String? city;
String? dateOfBirth;
String? sourceOfIncome;
ClientData({this.firstName,this.surname,this.email,this.mobileNumber,this.address1,this.address2,this.city,this.dateOfBirth,this.sourceOfIncome});
ClientData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
firstName = json['firstName'];
surname = json['surname'];
email = json['email'];
mobileNumber = json['mobileNumber'];
address1 = json['address1'];
address2 = json['address2'];
city = json['city'];
dateOfBirth = json['dateOfBirth'];
sourceOfIncome = json['sourceOfIncome'];
return this;
}
Map<String, dynamic> toJson() => {
'firstName': firstName,
'surname': surname,
'email': email,
'mobileNumber': mobileNumber,
'address1': address1,
'address2': address2,
'city': city,
'dateOfBirth': dateOfBirth,
'sourceOfIncome': sourceOfIncome
};
getTypeName() => "ClientData";
TypeContext? context = _ctx;
}
class LoginData implements IConvertible
{
int? systemUserId;
String? refreshToken;
bool? hasActivePanicCover;
bool? accountInArrears;
bool? updateClientInformation;
String? nextPanicDate;
String? panicReference;
ClientData? clientData;
LoginData({this.systemUserId,this.refreshToken,this.hasActivePanicCover,this.accountInArrears,this.updateClientInformation,this.nextPanicDate,this.panicReference,this.clientData});
LoginData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
systemUserId = json['systemUserId'];
refreshToken = json['refreshToken'];
hasActivePanicCover = json['hasActivePanicCover'];
accountInArrears = json['accountInArrears'];
updateClientInformation = json['updateClientInformation'];
nextPanicDate = json['nextPanicDate'];
panicReference = json['panicReference'];
clientData = JsonConverters.fromJson(json['clientData'],'ClientData',context!);
return this;
}
Map<String, dynamic> toJson() => {
'systemUserId': systemUserId,
'refreshToken': refreshToken,
'hasActivePanicCover': hasActivePanicCover,
'accountInArrears': accountInArrears,
'updateClientInformation': updateClientInformation,
'nextPanicDate': nextPanicDate,
'panicReference': panicReference,
'clientData': JsonConverters.toJson(clientData,'ClientData',context!)
};
getTypeName() => "LoginData";
TypeContext? context = _ctx;
}
class AutoLoginResponse extends ApiServiceResponse implements IConvertible
{
LoginData? data;
AutoLoginResponse({this.data});
AutoLoginResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
data = JsonConverters.fromJson(json['data'],'LoginData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'data': JsonConverters.toJson(data,'LoginData',context!)
});
getTypeName() => "AutoLoginResponse";
TypeContext? context = _ctx;
}
class AutoLogin extends ApiServiceRequest implements IConvertible
{
int? utcOffset;
int? systemUserId;
String? refreshToken;
AutoLogin({this.utcOffset,this.systemUserId,this.refreshToken});
AutoLogin.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
utcOffset = json['utcOffset'];
systemUserId = json['systemUserId'];
refreshToken = json['refreshToken'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'utcOffset': utcOffset,
'systemUserId': systemUserId,
'refreshToken': refreshToken
});
getTypeName() => "AutoLogin";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'legalguard_api_dev.happen.zone', types: <String, TypeInfo> {
'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
'ClientData': TypeInfo(TypeOf.Class, create:() => ClientData()),
'LoginData': TypeInfo(TypeOf.Class, create:() => LoginData()),
'AutoLoginResponse': TypeInfo(TypeOf.Class, create:() => AutoLoginResponse()),
'AutoLogin': TypeInfo(TypeOf.Class, create:() => AutoLogin()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /json/reply/AutoLogin HTTP/1.1
Host: legalguard-api-dev.happen.zone
Accept: application/json
Content-Type: application/json
Content-Length: length
{"utcOffset":0,"systemUserId":0,"refreshToken":"String","apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"data":{"systemUserId":0,"refreshToken":"String","hasActivePanicCover":false,"accountInArrears":false,"updateClientInformation":false,"nextPanicDate":"String","panicReference":"String","clientData":{"firstName":"String","surname":"String","email":"String","mobileNumber":"String","address1":"String","address2":"String","city":"String","dateOfBirth":"String","sourceOfIncome":"String"}},"description":"String","heading":"String","wasSuccessful":false,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}