| POST | /principal/check |
|---|
import 'package:servicestack/servicestack.dart';
class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
/**
* The API Key required for authentication
*/
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
String? apiKey;
/**
* Latitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
double? latitude;
/**
* Longitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
double? longitude;
ApiServiceRequest({this.apiKey,this.latitude,this.longitude});
ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
apiKey = json['apiKey'];
latitude = JsonConverters.toDouble(json['latitude']);
longitude = JsonConverters.toDouble(json['longitude']);
return this;
}
Map<String, dynamic> toJson() => {
'apiKey': apiKey,
'latitude': latitude,
'longitude': longitude
};
getTypeName() => "ApiServiceRequest";
TypeContext? context = _ctx;
}
class ApiServiceResponse implements IServiceResponse, IConvertible
{
/**
* Information about the response.
*/
// @ApiMember(Description="Information about the response.", IsRequired=true)
String? description;
/**
* Heading or summary of the response.
*/
// @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
String? heading;
/**
* Did the intended operation for this response complete successfully?
*/
// @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
bool? wasSuccessful;
ResponseStatus? responseStatus;
ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.responseStatus});
ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
description = json['description'];
heading = json['heading'];
wasSuccessful = json['wasSuccessful'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'description': description,
'heading': heading,
'wasSuccessful': wasSuccessful,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "ApiServiceResponse";
TypeContext? context = _ctx;
}
class PrincipalAppSync implements IConvertible
{
int? principalId;
String? lastUpdated;
PrincipalAppSync({this.principalId,this.lastUpdated});
PrincipalAppSync.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
principalId = json['principalId'];
lastUpdated = json['lastUpdated'];
return this;
}
Map<String, dynamic> toJson() => {
'principalId': principalId,
'lastUpdated': lastUpdated
};
getTypeName() => "PrincipalAppSync";
TypeContext? context = _ctx;
}
class AuthRuleData implements IConvertible
{
double? fromValue;
double? toValue;
bool? allow;
bool? delayedAuth;
bool? authRequired;
String? channel;
String? region;
AuthRuleData({this.fromValue,this.toValue,this.allow,this.delayedAuth,this.authRequired,this.channel,this.region});
AuthRuleData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
fromValue = JsonConverters.toDouble(json['fromValue']);
toValue = JsonConverters.toDouble(json['toValue']);
allow = json['allow'];
delayedAuth = json['delayedAuth'];
authRequired = json['authRequired'];
channel = json['channel'];
region = json['region'];
return this;
}
Map<String, dynamic> toJson() => {
'fromValue': fromValue,
'toValue': toValue,
'allow': allow,
'delayedAuth': delayedAuth,
'authRequired': authRequired,
'channel': channel,
'region': region
};
getTypeName() => "AuthRuleData";
TypeContext? context = _ctx;
}
class PrincipalAuthRuleData implements IConvertible
{
int? principalId;
List<AuthRuleData>? valueAuthRules;
List<AuthRuleData>? unitAuthRules;
PrincipalAuthRuleData({this.principalId,this.valueAuthRules,this.unitAuthRules});
PrincipalAuthRuleData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
principalId = json['principalId'];
valueAuthRules = JsonConverters.fromJson(json['valueAuthRules'],'List<AuthRuleData>',context!);
unitAuthRules = JsonConverters.fromJson(json['unitAuthRules'],'List<AuthRuleData>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'principalId': principalId,
'valueAuthRules': JsonConverters.toJson(valueAuthRules,'List<AuthRuleData>',context!),
'unitAuthRules': JsonConverters.toJson(unitAuthRules,'List<AuthRuleData>',context!)
};
getTypeName() => "PrincipalAuthRuleData";
TypeContext? context = _ctx;
}
class CheckPrincipalsResponse extends ApiServiceResponse implements IConvertible
{
List<int>? principalsToUpdate;
List<PrincipalAppSync>? principalAppSyncData;
List<PrincipalAuthRuleData>? authRules;
CheckPrincipalsResponse({this.principalsToUpdate,this.principalAppSyncData,this.authRules});
CheckPrincipalsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
principalsToUpdate = JsonConverters.fromJson(json['principalsToUpdate'],'List<int>',context!);
principalAppSyncData = JsonConverters.fromJson(json['principalAppSyncData'],'List<PrincipalAppSync>',context!);
authRules = JsonConverters.fromJson(json['authRules'],'List<PrincipalAuthRuleData>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'principalsToUpdate': JsonConverters.toJson(principalsToUpdate,'List<int>',context!),
'principalAppSyncData': JsonConverters.toJson(principalAppSyncData,'List<PrincipalAppSync>',context!),
'authRules': JsonConverters.toJson(authRules,'List<PrincipalAuthRuleData>',context!)
});
getTypeName() => "CheckPrincipalsResponse";
TypeContext? context = _ctx;
}
class CheckPrincipals extends ApiServiceRequest implements IConvertible
{
List<PrincipalAppSync>? principals;
CheckPrincipals({this.principals});
CheckPrincipals.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
principals = JsonConverters.fromJson(json['principals'],'List<PrincipalAppSync>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'principals': JsonConverters.toJson(principals,'List<PrincipalAppSync>',context!)
});
getTypeName() => "CheckPrincipals";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'antel.api.dev.86degrees.com', types: <String, TypeInfo> {
'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
'PrincipalAppSync': TypeInfo(TypeOf.Class, create:() => PrincipalAppSync()),
'AuthRuleData': TypeInfo(TypeOf.Class, create:() => AuthRuleData()),
'PrincipalAuthRuleData': TypeInfo(TypeOf.Class, create:() => PrincipalAuthRuleData()),
'List<AuthRuleData>': TypeInfo(TypeOf.Class, create:() => <AuthRuleData>[]),
'CheckPrincipalsResponse': TypeInfo(TypeOf.Class, create:() => CheckPrincipalsResponse()),
'List<PrincipalAppSync>': TypeInfo(TypeOf.Class, create:() => <PrincipalAppSync>[]),
'List<PrincipalAuthRuleData>': TypeInfo(TypeOf.Class, create:() => <PrincipalAuthRuleData>[]),
'CheckPrincipals': TypeInfo(TypeOf.Class, create:() => CheckPrincipals()),
});
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 /principal/check HTTP/1.1
Host: antel.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
principals:
[
{
principalId: 0,
lastUpdated: String
}
],
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
principalsToUpdate:
[
0
],
principalAppSyncData:
[
{
principalId: 0,
lastUpdated: String
}
],
authRules:
[
{
principalId: 0,
valueAuthRules:
[
{
}
],
unitAuthRules:
[
{
}
]
}
],
description: String,
heading: String,
wasSuccessful: False,
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}