| POST | /api/v1/generateotp |
|---|
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 GenerateOtpForUserResponse extends BaseResponse implements IConvertible
{
String? phoneNumber;
GenerateOtpForUserResponse({this.phoneNumber});
GenerateOtpForUserResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
phoneNumber = json['phoneNumber'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'phoneNumber': phoneNumber
});
getTypeName() => "GenerateOtpForUserResponse";
TypeContext? context = _ctx;
}
class GenerateOtpForUser implements IConvertible
{
String? email;
String? phoneNumber;
GenerateOtpForUser({this.email,this.phoneNumber});
GenerateOtpForUser.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
email = json['email'];
phoneNumber = json['phoneNumber'];
return this;
}
Map<String, dynamic> toJson() => {
'email': email,
'phoneNumber': phoneNumber
};
getTypeName() => "GenerateOtpForUser";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'auth.migrantleap.com', types: <String, TypeInfo> {
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'GenerateOtpForUserResponse': TypeInfo(TypeOf.Class, create:() => GenerateOtpForUserResponse()),
'GenerateOtpForUser': TypeInfo(TypeOf.Class, create:() => GenerateOtpForUser()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/v1/generateotp HTTP/1.1
Host: auth.migrantleap.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"email":"String","phoneNumber":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"phoneNumber":"String","responseStatus":{"statusCode":0,"message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}