| All Verbs | /api/quadrantupdate/token | ||
|---|---|---|---|
| All Verbs | /api/quadrantupdate |
import 'package:servicestack/servicestack.dart';
class SettingModel implements IConvertible
{
String? SettingId;
String? SettingName;
String? SettingValue;
SettingModel({this.SettingId,this.SettingName,this.SettingValue});
SettingModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
SettingId = json['SettingId'];
SettingName = json['SettingName'];
SettingValue = json['SettingValue'];
return this;
}
Map<String, dynamic> toJson() => {
'SettingId': SettingId,
'SettingName': SettingName,
'SettingValue': SettingValue
};
getTypeName() => "SettingModel";
TypeContext? context = _ctx;
}
class UpdateQuadrantResponse implements IConvertible
{
String? PerspectiveSessionId;
List<SettingModel>? Settings;
List<String>? Permissions;
ResponseStatus? ResponseStatus;
UpdateQuadrantResponse({this.PerspectiveSessionId,this.Settings,this.Permissions,this.ResponseStatus});
UpdateQuadrantResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PerspectiveSessionId = json['PerspectiveSessionId'];
Settings = JsonConverters.fromJson(json['Settings'],'List<SettingModel>',context!);
Permissions = JsonConverters.fromJson(json['Permissions'],'List<String>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PerspectiveSessionId': PerspectiveSessionId,
'Settings': JsonConverters.toJson(Settings,'List<SettingModel>',context!),
'Permissions': JsonConverters.toJson(Permissions,'List<String>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "UpdateQuadrantResponse";
TypeContext? context = _ctx;
}
class SessionModel implements IConvertible
{
/**
* Create user session for the specified user name
*/
// @ApiMember(Description="Create user session for the specified user name", IsRequired=true, Name="UserName")
String? UserName;
/**
* Local or External account
*/
// @ApiMember(Description="Local or External account", IsRequired=true, Name="AuthProvider")
String? AuthProvider;
/**
* Current user profile context
*/
// @ApiMember(Description="Current user profile context", IsRequired=true, Name="UserProfileId")
String? UserProfileId;
/**
* Current appliance context
*/
// @ApiMember(Description="Current appliance context", IsRequired=true, Name="Appliance")
String? ApplianceId;
/**
* Current role context
*/
// @ApiMember(Description="Current role context", IsRequired=true, Name="RoleId")
String? RoleId;
/**
* Current licensee context
*/
// @ApiMember(Description="Current licensee context", IsRequired=true, Name="LicenseeConnectionId")
String? LicenseeConnectionId;
/**
* Has 'Remember Me' option been selected?
*/
// @ApiMember(Description="Has 'Remember Me' option been selected?", Name="IsPersistent")
bool? IsPersistent;
/**
* Licensee contact id of the current licensee context
*/
// @ApiMember(Description="Licensee contact id of the current licensee context", IsRequired=true, Name="LicenseeContactId")
String? LicenseeContactId;
/**
* Connection Id linking the current user profile to the current licensee context
*/
// @ApiMember(Description="Connection Id linking the current user profile to the current licensee context", IsRequired=true, Name="UserContactRoleConnectionId")
String? UserContactRoleConnectionId;
SessionModel({this.UserName,this.AuthProvider,this.UserProfileId,this.ApplianceId,this.RoleId,this.LicenseeConnectionId,this.IsPersistent,this.LicenseeContactId,this.UserContactRoleConnectionId});
SessionModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UserName = json['UserName'];
AuthProvider = json['AuthProvider'];
UserProfileId = json['UserProfileId'];
ApplianceId = json['ApplianceId'];
RoleId = json['RoleId'];
LicenseeConnectionId = json['LicenseeConnectionId'];
IsPersistent = json['IsPersistent'];
LicenseeContactId = json['LicenseeContactId'];
UserContactRoleConnectionId = json['UserContactRoleConnectionId'];
return this;
}
Map<String, dynamic> toJson() => {
'UserName': UserName,
'AuthProvider': AuthProvider,
'UserProfileId': UserProfileId,
'ApplianceId': ApplianceId,
'RoleId': RoleId,
'LicenseeConnectionId': LicenseeConnectionId,
'IsPersistent': IsPersistent,
'LicenseeContactId': LicenseeContactId,
'UserContactRoleConnectionId': UserContactRoleConnectionId
};
getTypeName() => "SessionModel";
TypeContext? context = _ctx;
}
/**
* Update quadrant context - create a new session, retrieve settings and return new JWT Token
*/
// @Api(Description="Update quadrant context - create a new session, retrieve settings and return new JWT Token")
class UpdateQuadrant implements IConvertible
{
SessionModel? Session;
UpdateQuadrant({this.Session});
UpdateQuadrant.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Session = JsonConverters.fromJson(json['Session'],'SessionModel',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Session': JsonConverters.toJson(Session,'SessionModel',context!)
};
getTypeName() => "UpdateQuadrant";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'SettingModel': TypeInfo(TypeOf.Class, create:() => SettingModel()),
'UpdateQuadrantResponse': TypeInfo(TypeOf.Class, create:() => UpdateQuadrantResponse()),
'List<SettingModel>': TypeInfo(TypeOf.Class, create:() => <SettingModel>[]),
'SessionModel': TypeInfo(TypeOf.Class, create:() => SessionModel()),
'UpdateQuadrant': TypeInfo(TypeOf.Class, create:() => UpdateQuadrant()),
});
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/quadrantupdate/token HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Session:
{
UserName: String,
AuthProvider: String,
IsPersistent: False
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Settings:
[
{
SettingName: String,
SettingValue: String
}
],
Permissions:
[
00000000-0000-0000-0000-000000000000
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}