| POST | /api/v1/completeprofile |
|---|
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 CompleteProfileResponse extends BaseResponse implements IConvertible
{
CompleteProfileResponse();
CompleteProfileResponse.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() => "CompleteProfileResponse";
TypeContext? context = _ctx;
}
class CompleteProfile implements IConvertible
{
String? email;
String? firstName;
String? lastName;
String? country;
String? language;
DateTime? birthDate;
String? address;
String? address2;
String? city;
String? state;
String? zipCode;
String? phoneNumber;
String? phoneValidationToken;
bool? updateHealthProfile;
String? password;
CompleteProfile({this.email,this.firstName,this.lastName,this.country,this.language,this.birthDate,this.address,this.address2,this.city,this.state,this.zipCode,this.phoneNumber,this.phoneValidationToken,this.updateHealthProfile,this.password});
CompleteProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
email = json['email'];
firstName = json['firstName'];
lastName = json['lastName'];
country = json['country'];
language = json['language'];
birthDate = JsonConverters.fromJson(json['birthDate'],'DateTime',context!);
address = json['address'];
address2 = json['address2'];
city = json['city'];
state = json['state'];
zipCode = json['zipCode'];
phoneNumber = json['phoneNumber'];
phoneValidationToken = json['phoneValidationToken'];
updateHealthProfile = json['updateHealthProfile'];
password = json['password'];
return this;
}
Map<String, dynamic> toJson() => {
'email': email,
'firstName': firstName,
'lastName': lastName,
'country': country,
'language': language,
'birthDate': JsonConverters.toJson(birthDate,'DateTime',context!),
'address': address,
'address2': address2,
'city': city,
'state': state,
'zipCode': zipCode,
'phoneNumber': phoneNumber,
'phoneValidationToken': phoneValidationToken,
'updateHealthProfile': updateHealthProfile,
'password': password
};
getTypeName() => "CompleteProfile";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'auth.migrantleap.com', types: <String, TypeInfo> {
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'CompleteProfileResponse': TypeInfo(TypeOf.Class, create:() => CompleteProfileResponse()),
'CompleteProfile': TypeInfo(TypeOf.Class, create:() => CompleteProfile()),
});
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 /api/v1/completeprofile HTTP/1.1
Host: auth.migrantleap.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CompleteProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MigrantLeap.Auth.v1.Models">
<Address>String</Address>
<Address2>String</Address2>
<BirthDate>0001-01-01T00:00:00</BirthDate>
<City>String</City>
<Country>String</Country>
<Email>String</Email>
<FirstName>String</FirstName>
<Language>String</Language>
<LastName>String</LastName>
<Password>String</Password>
<PhoneNumber>String</PhoneNumber>
<PhoneValidationToken>String</PhoneValidationToken>
<State>String</State>
<UpdateHealthProfile>false</UpdateHealthProfile>
<ZipCode>String</ZipCode>
</CompleteProfile>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CompleteProfileResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MigrantLeap.Auth.v1.Models">
<ResponseStatus>
<StatusCode>0</StatusCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors xmlns:d3p1="http://schemas.servicestack.net/types">
<d3p1:ResponseError>
<d3p1:ErrorCode>String</d3p1:ErrorCode>
<d3p1:FieldName>String</d3p1:FieldName>
<d3p1:Message>String</d3p1:Message>
<d3p1: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>
</d3p1:Meta>
</d3p1: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>
</CompleteProfileResponse>