| POST | /api/v1/completehealthprofile |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class ResponseStatus implements IMeta, IConvertible
{
// @DataMember(Order=1)
int? statusCode;
// @DataMember(Order=2)
String? message;
// @DataMember(Order=3)
String? stackTrace;
// @DataMember(Order=4)
List<ResponseError>? errors;
// @DataMember(Order=5)
Map<String,String?>? meta;
ResponseStatus({this.statusCode,this.message,this.stackTrace,this.errors,this.meta});
ResponseStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
statusCode = json['statusCode'];
message = json['message'];
stackTrace = json['stackTrace'];
errors = JsonConverters.fromJson(json['errors'],'List<ResponseError>',context!);
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'statusCode': statusCode,
'message': message,
'stackTrace': stackTrace,
'errors': JsonConverters.toJson(errors,'List<ResponseError>',context!),
'meta': meta
};
getTypeName() => "ResponseStatus";
TypeContext? context = _ctx;
}
class BaseResponse implements IConvertible
{
ResponseStatus? responseStatus;
BaseResponse({this.responseStatus});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class UpdateHealthProfileResponse extends BaseResponse implements IConvertible
{
UpdateHealthProfileResponse();
UpdateHealthProfileResponse.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() => "UpdateHealthProfileResponse";
TypeContext? context = _ctx;
}
class HealthProfile implements IConvertible
{
String? healthId;
String? firstName;
String? lastName;
String? email;
String? birthDate;
String? address;
String? address2;
String? state;
String? city;
String? zipCode;
String? phone;
HealthProfile({this.healthId,this.firstName,this.lastName,this.email,this.birthDate,this.address,this.address2,this.state,this.city,this.zipCode,this.phone});
HealthProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
healthId = json['healthId'];
firstName = json['firstName'];
lastName = json['lastName'];
email = json['email'];
birthDate = json['birthDate'];
address = json['address'];
address2 = json['address2'];
state = json['state'];
city = json['city'];
zipCode = json['zipCode'];
phone = json['phone'];
return this;
}
Map<String, dynamic> toJson() => {
'healthId': healthId,
'firstName': firstName,
'lastName': lastName,
'email': email,
'birthDate': birthDate,
'address': address,
'address2': address2,
'state': state,
'city': city,
'zipCode': zipCode,
'phone': phone
};
getTypeName() => "HealthProfile";
TypeContext? context = _ctx;
}
class UpdateHealthProfile implements IConvertible
{
HealthProfile? profile;
String? password;
UpdateHealthProfile({this.profile,this.password});
UpdateHealthProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
profile = JsonConverters.fromJson(json['profile'],'HealthProfile',context!);
password = json['password'];
return this;
}
Map<String, dynamic> toJson() => {
'profile': JsonConverters.toJson(profile,'HealthProfile',context!),
'password': password
};
getTypeName() => "UpdateHealthProfile";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'auth.migrantleap.com', types: <String, TypeInfo> {
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'UpdateHealthProfileResponse': TypeInfo(TypeOf.Class, create:() => UpdateHealthProfileResponse()),
'HealthProfile': TypeInfo(TypeOf.Class, create:() => HealthProfile()),
'UpdateHealthProfile': TypeInfo(TypeOf.Class, create:() => UpdateHealthProfile()),
});
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/v1/completehealthprofile HTTP/1.1
Host: auth.migrantleap.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
profile:
{
healthId: String,
firstName: String,
lastName: String,
email: String,
birthDate: String,
address: String,
address2: String,
state: String,
city: String,
zipCode: String,
phone: String
},
password: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
statusCode: 0,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}