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 UpdateClientDetailResponse extends ApiServiceResponse implements IConvertible
{
List<String>? validationMessages;
UpdateClientDetailResponse({this.validationMessages});
UpdateClientDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
validationMessages = JsonConverters.fromJson(json['validationMessages'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'validationMessages': JsonConverters.toJson(validationMessages,'List<String>',context!)
});
getTypeName() => "UpdateClientDetailResponse";
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 UpdateClientDetail extends ApiServiceRequest implements IConvertible
{
ClientData? clientData;
UpdateClientDetail({this.clientData});
UpdateClientDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
clientData = JsonConverters.fromJson(json['clientData'],'ClientData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'clientData': JsonConverters.toJson(clientData,'ClientData',context!)
});
getTypeName() => "UpdateClientDetail";
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()),
'UpdateClientDetailResponse': TypeInfo(TypeOf.Class, create:() => UpdateClientDetailResponse()),
'ClientData': TypeInfo(TypeOf.Class, create:() => ClientData()),
'UpdateClientDetail': TypeInfo(TypeOf.Class, create:() => UpdateClientDetail()),
});
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/UpdateClientDetail HTTP/1.1
Host: legalguard-api-dev.happen.zone
Accept: application/json
Content-Type: application/json
Content-Length: length
{"clientData":{"firstName":"String","surname":"String","email":"String","mobileNumber":"String","address1":"String","address2":"String","city":"String","dateOfBirth":"String","sourceOfIncome":"String"},"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"validationMessages":["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"}}}