| PUT,POST | /register |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class RegisterResponse implements IMeta, IHasSessionId, IHasBearerToken, IConvertible
{
// @DataMember(Order=1)
String? UserId;
// @DataMember(Order=2)
String? SessionId;
// @DataMember(Order=3)
String? UserName;
// @DataMember(Order=4)
String? ReferrerUrl;
// @DataMember(Order=5)
String? BearerToken;
// @DataMember(Order=6)
String? RefreshToken;
// @DataMember(Order=7)
DateTime? RefreshTokenExpiry;
// @DataMember(Order=8)
List<String>? Roles;
// @DataMember(Order=9)
List<String>? Permissions;
// @DataMember(Order=10)
String? RedirectUrl;
// @DataMember(Order=11)
ResponseStatus? ResponseStatus;
// @DataMember(Order=12)
Map<String,String?>? Meta;
RegisterResponse({this.UserId,this.SessionId,this.UserName,this.ReferrerUrl,this.BearerToken,this.RefreshToken,this.RefreshTokenExpiry,this.Roles,this.Permissions,this.RedirectUrl,this.ResponseStatus,this.Meta});
RegisterResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UserId = json['UserId'];
SessionId = json['SessionId'];
UserName = json['UserName'];
ReferrerUrl = json['ReferrerUrl'];
BearerToken = json['BearerToken'];
RefreshToken = json['RefreshToken'];
RefreshTokenExpiry = JsonConverters.fromJson(json['RefreshTokenExpiry'],'DateTime',context!);
Roles = JsonConverters.fromJson(json['Roles'],'List<String>',context!);
Permissions = JsonConverters.fromJson(json['Permissions'],'List<String>',context!);
RedirectUrl = json['RedirectUrl'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Meta = JsonConverters.toStringMap(json['Meta']);
return this;
}
Map<String, dynamic> toJson() => {
'UserId': UserId,
'SessionId': SessionId,
'UserName': UserName,
'ReferrerUrl': ReferrerUrl,
'BearerToken': BearerToken,
'RefreshToken': RefreshToken,
'RefreshTokenExpiry': JsonConverters.toJson(RefreshTokenExpiry,'DateTime',context!),
'Roles': JsonConverters.toJson(Roles,'List<String>',context!),
'Permissions': JsonConverters.toJson(Permissions,'List<String>',context!),
'RedirectUrl': RedirectUrl,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Meta': Meta
};
getTypeName() => "RegisterResponse";
TypeContext? context = _ctx;
}
/**
* Sign Up
*/
// @Api(Description="Sign Up")
// @DataContract
class Register implements IPost, IMeta, IConvertible
{
// @DataMember(Order=1)
String? UserName;
// @DataMember(Order=2)
String? FirstName;
// @DataMember(Order=3)
String? LastName;
// @DataMember(Order=4)
String? DisplayName;
// @DataMember(Order=5)
String? Email;
// @DataMember(Order=6)
String? Password;
// @DataMember(Order=7)
String? ConfirmPassword;
// @DataMember(Order=8)
bool? AutoLogin;
// @DataMember(Order=10)
String? ErrorView;
// @DataMember(Order=11)
Map<String,String?>? Meta;
Register({this.UserName,this.FirstName,this.LastName,this.DisplayName,this.Email,this.Password,this.ConfirmPassword,this.AutoLogin,this.ErrorView,this.Meta});
Register.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UserName = json['UserName'];
FirstName = json['FirstName'];
LastName = json['LastName'];
DisplayName = json['DisplayName'];
Email = json['Email'];
Password = json['Password'];
ConfirmPassword = json['ConfirmPassword'];
AutoLogin = json['AutoLogin'];
ErrorView = json['ErrorView'];
Meta = JsonConverters.toStringMap(json['Meta']);
return this;
}
Map<String, dynamic> toJson() => {
'UserName': UserName,
'FirstName': FirstName,
'LastName': LastName,
'DisplayName': DisplayName,
'Email': Email,
'Password': Password,
'ConfirmPassword': ConfirmPassword,
'AutoLogin': AutoLogin,
'ErrorView': ErrorView,
'Meta': Meta
};
getTypeName() => "Register";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'duengageapi.uat.scadsoftware.com', types: <String, TypeInfo> {
});
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 /register HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
UserName: String,
FirstName: String,
LastName: String,
DisplayName: String,
Email: String,
Password: String,
ConfirmPassword: String,
AutoLogin: False,
ErrorView: String,
Meta:
{
String: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
UserId: String,
SessionId: String,
UserName: String,
ReferrerUrl: String,
BearerToken: String,
RefreshToken: String,
RefreshTokenExpiry: 0001-01-01,
Roles:
[
String
],
Permissions:
[
String
],
RedirectUrl: String,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Meta:
{
String: String
}
}