POST | /codelock/accessy/callback |
---|
import 'package:servicestack/servicestack.dart';
enum AccessyEvent
{
Unknown,
MEMBERSHIP_CREATED,
MEMBERSHIP_REMOVED,
}
class AccessyCodelockCallback implements IConvertible
{
AccessyEvent? EventType;
String? InvitationId;
String? UserId;
String? OrganizationId;
AccessyCodelockCallback({this.EventType,this.InvitationId,this.UserId,this.OrganizationId});
AccessyCodelockCallback.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
EventType = JsonConverters.fromJson(json['EventType'],'AccessyEvent',context!);
InvitationId = json['InvitationId'];
UserId = json['UserId'];
OrganizationId = json['OrganizationId'];
return this;
}
Map<String, dynamic> toJson() => {
'EventType': JsonConverters.toJson(EventType,'AccessyEvent',context!),
'InvitationId': InvitationId,
'UserId': UserId,
'OrganizationId': OrganizationId
};
getTypeName() => "AccessyCodelockCallback";
TypeContext? context = _ctx;
}
abstract class IVirtualDirectory
{
}
abstract class IVirtualPathProvider
{
IVirtualDirectory? RootDirectory;
String? VirtualPathSeparator;
String? RealPathSeparator;
}
abstract class IVirtualFile
{
IVirtualPathProvider? VirtualPathProvider;
String? Extension;
int? Length;
}
// @Flags()
class CacheControl
{
static const CacheControl None = const CacheControl._(0);
static const CacheControl Public = const CacheControl._(1);
static const CacheControl Private = const CacheControl._(2);
static const CacheControl MustRevalidate = const CacheControl._(4);
static const CacheControl NoCache = const CacheControl._(8);
static const CacheControl NoStore = const CacheControl._(16);
static const CacheControl NoTransform = const CacheControl._(32);
static const CacheControl ProxyRevalidate = const CacheControl._(64);
final int _value;
const CacheControl._(this._value);
int get value => _value;
static List<CacheControl> get values => const [None,Public,Private,MustRevalidate,NoCache,NoStore,NoTransform,ProxyRevalidate];
}
abstract class IContentTypeWriter
{
}
abstract class IResponse
{
dynamic? OriginalResponse;
IRequest? Request;
int? StatusCode;
String? StatusDescription;
String? ContentType;
Uint8List? OutputStream;
dynamic? Dto;
bool? UseBufferedStream;
bool? IsClosed;
bool? KeepAlive;
bool? HasStarted;
Map<String,dynamic?>? Items;
}
// @Flags()
class RequestAttributes
{
static const RequestAttributes None = const RequestAttributes._(0);
static const RequestAttributes Localhost = const RequestAttributes._(1);
static const RequestAttributes LocalSubnet = const RequestAttributes._(2);
static const RequestAttributes External = const RequestAttributes._(4);
static const RequestAttributes Secure = const RequestAttributes._(8);
static const RequestAttributes InSecure = const RequestAttributes._(16);
static const RequestAttributes AnySecurityMode = const RequestAttributes._(24);
static const RequestAttributes HttpHead = const RequestAttributes._(32);
static const RequestAttributes HttpGet = const RequestAttributes._(64);
static const RequestAttributes HttpPost = const RequestAttributes._(128);
static const RequestAttributes HttpPut = const RequestAttributes._(256);
static const RequestAttributes HttpDelete = const RequestAttributes._(512);
static const RequestAttributes HttpPatch = const RequestAttributes._(1024);
static const RequestAttributes HttpOptions = const RequestAttributes._(2048);
static const RequestAttributes HttpOther = const RequestAttributes._(4096);
static const RequestAttributes AnyHttpMethod = const RequestAttributes._(8160);
static const RequestAttributes OneWay = const RequestAttributes._(8192);
static const RequestAttributes Reply = const RequestAttributes._(16384);
static const RequestAttributes AnyCallStyle = const RequestAttributes._(24576);
static const RequestAttributes Soap11 = const RequestAttributes._(32768);
static const RequestAttributes Soap12 = const RequestAttributes._(65536);
static const RequestAttributes Xml = const RequestAttributes._(131072);
static const RequestAttributes Json = const RequestAttributes._(262144);
static const RequestAttributes Jsv = const RequestAttributes._(524288);
static const RequestAttributes ProtoBuf = const RequestAttributes._(1048576);
static const RequestAttributes Csv = const RequestAttributes._(2097152);
static const RequestAttributes Html = const RequestAttributes._(4194304);
static const RequestAttributes Jsonl = const RequestAttributes._(8388608);
static const RequestAttributes MsgPack = const RequestAttributes._(16777216);
static const RequestAttributes FormatOther = const RequestAttributes._(33554432);
static const RequestAttributes AnyFormat = const RequestAttributes._(67076096);
static const RequestAttributes Http = const RequestAttributes._(67108864);
static const RequestAttributes MessageQueue = const RequestAttributes._(134217728);
static const RequestAttributes Tcp = const RequestAttributes._(268435456);
static const RequestAttributes Grpc = const RequestAttributes._(536870912);
static const RequestAttributes EndpointOther = const RequestAttributes._(1073741824);
static const RequestAttributes AnyEndpoint = const RequestAttributes._(2080374784);
static const RequestAttributes InProcess = const RequestAttributes._(-2147483648);
static const RequestAttributes InternalNetworkAccess = const RequestAttributes._(-2147483645);
static const RequestAttributes AnyNetworkAccessType = const RequestAttributes._(-2147483641);
static const RequestAttributes Any = const RequestAttributes._(-1);
final int _value;
const RequestAttributes._(this._value);
int get value => _value;
static List<RequestAttributes> get values => const [None,Localhost,LocalSubnet,External,Secure,InSecure,AnySecurityMode,HttpHead,HttpGet,HttpPost,HttpPut,HttpDelete,HttpPatch,HttpOptions,HttpOther,AnyHttpMethod,OneWay,Reply,AnyCallStyle,Soap11,Soap12,Xml,Json,Jsv,ProtoBuf,Csv,Html,Jsonl,MsgPack,FormatOther,AnyFormat,Http,MessageQueue,Tcp,Grpc,EndpointOther,AnyEndpoint,InProcess,InternalNetworkAccess,AnyNetworkAccessType,Any];
}
abstract class IRequestPreferences
{
bool? AcceptsBrotli;
bool? AcceptsDeflate;
bool? AcceptsGzip;
}
abstract class IRequest
{
dynamic? OriginalRequest;
IResponse? Response;
String? OperationName;
String? Verb;
RequestAttributes? RequestAttributes;
IRequestPreferences? RequestPreferences;
dynamic? Dto;
String? ContentType;
bool? IsLocal;
String? UserAgent;
Map<String,Cookie?>? Cookies;
String? ResponseContentType;
bool? HasExplicitResponseContentType;
Map<String,dynamic?>? Items;
NameValueCollection? Headers;
NameValueCollection? QueryString;
NameValueCollection? FormData;
bool? UseBufferedStream;
String? RawUrl;
String? AbsoluteUri;
String? UserHostAddress;
String? RemoteIp;
String? Authorization;
bool? IsSecureConnection;
List<String>? AcceptTypes;
String? PathInfo;
String? OriginalPathInfo;
Uint8List? InputStream;
int? ContentLength;
List<IHttpFile>? Files;
Uri? UrlReferrer;
}
class HttpResult implements IConvertible
{
String? ResponseText;
Uint8List? ResponseStream;
FileInfo? FileInfo;
IVirtualFile? VirtualFile;
String? ContentType;
Map<String,String?>? Headers;
List<Cookie>? Cookies;
String? ETag;
Duration? Age;
Duration? MaxAge;
DateTime? Expires;
DateTime? LastModified;
CacheControl? CacheControl;
Func<IDisposable>? ResultScope;
bool? AllowsPartialResponse;
Map<String,String?>? Options;
int? Status;
HttpStatusCode? StatusCode;
String? StatusDescription;
dynamic? Response;
IContentTypeWriter? ResponseFilter;
IRequest? RequestContext;
String? View;
String? Template;
int? PaddingLength;
bool? IsPartialRequest;
HttpResult({this.ResponseText,this.ResponseStream,this.FileInfo,this.VirtualFile,this.ContentType,this.Headers,this.Cookies,this.ETag,this.Age,this.MaxAge,this.Expires,this.LastModified,this.CacheControl,this.ResultScope,this.AllowsPartialResponse,this.Options,this.Status,this.StatusCode,this.StatusDescription,this.Response,this.ResponseFilter,this.RequestContext,this.View,this.Template,this.PaddingLength,this.IsPartialRequest});
HttpResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseText = json['ResponseText'];
ResponseStream = JsonConverters.fromJson(json['ResponseStream'],'Uint8List',context!);
FileInfo = JsonConverters.fromJson(json['FileInfo'],'FileInfo',context!);
VirtualFile = JsonConverters.fromJson(json['VirtualFile'],'IVirtualFile',context!);
ContentType = json['ContentType'];
Headers = JsonConverters.toStringMap(json['Headers']);
Cookies = JsonConverters.fromJson(json['Cookies'],'List<Cookie>',context!);
ETag = json['ETag'];
Age = JsonConverters.fromJson(json['Age'],'Duration',context!);
MaxAge = JsonConverters.fromJson(json['MaxAge'],'Duration',context!);
Expires = JsonConverters.fromJson(json['Expires'],'DateTime',context!);
LastModified = JsonConverters.fromJson(json['LastModified'],'DateTime',context!);
CacheControl = JsonConverters.fromJson(json['CacheControl'],'CacheControl',context!);
ResultScope = JsonConverters.fromJson(json['ResultScope'],'Func<IDisposable>',context!);
AllowsPartialResponse = json['AllowsPartialResponse'];
Options = JsonConverters.fromJson(json['Options'],'Map<String,String?>',context!);
Status = json['Status'];
StatusCode = JsonConverters.fromJson(json['StatusCode'],'HttpStatusCode',context!);
StatusDescription = json['StatusDescription'];
Response = JsonConverters.fromJson(json['Response'],'dynamic',context!);
ResponseFilter = JsonConverters.fromJson(json['ResponseFilter'],'IContentTypeWriter',context!);
RequestContext = JsonConverters.fromJson(json['RequestContext'],'IRequest',context!);
View = json['View'];
Template = json['Template'];
PaddingLength = json['PaddingLength'];
IsPartialRequest = json['IsPartialRequest'];
return this;
}
Map<String, dynamic> toJson() => {
'ResponseText': ResponseText,
'ResponseStream': JsonConverters.toJson(ResponseStream,'Uint8List',context!),
'FileInfo': JsonConverters.toJson(FileInfo,'FileInfo',context!),
'VirtualFile': JsonConverters.toJson(VirtualFile,'IVirtualFile',context!),
'ContentType': ContentType,
'Headers': Headers,
'Cookies': JsonConverters.toJson(Cookies,'List<Cookie>',context!),
'ETag': ETag,
'Age': JsonConverters.toJson(Age,'Duration',context!),
'MaxAge': JsonConverters.toJson(MaxAge,'Duration',context!),
'Expires': JsonConverters.toJson(Expires,'DateTime',context!),
'LastModified': JsonConverters.toJson(LastModified,'DateTime',context!),
'CacheControl': JsonConverters.toJson(CacheControl,'CacheControl',context!),
'ResultScope': JsonConverters.toJson(ResultScope,'Func<IDisposable>',context!),
'AllowsPartialResponse': AllowsPartialResponse,
'Options': JsonConverters.toJson(Options,'Map<String,String?>',context!),
'Status': Status,
'StatusCode': JsonConverters.toJson(StatusCode,'HttpStatusCode',context!),
'StatusDescription': StatusDescription,
'Response': JsonConverters.toJson(Response,'dynamic',context!),
'ResponseFilter': JsonConverters.toJson(ResponseFilter,'IContentTypeWriter',context!),
'RequestContext': JsonConverters.toJson(RequestContext,'IRequest',context!),
'View': View,
'Template': Template,
'PaddingLength': PaddingLength,
'IsPartialRequest': IsPartialRequest
};
getTypeName() => "HttpResult";
TypeContext? context = _ctx;
}
abstract class IHttpFile
{
String? Name;
String? FileName;
int? ContentLength;
String? ContentType;
Uint8List? InputStream;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'AccessyEvent': TypeInfo(TypeOf.Enum, enumValues:AccessyEvent.values),
'AccessyCodelockCallback': TypeInfo(TypeOf.Class, create:() => AccessyCodelockCallback()),
'IVirtualDirectory': TypeInfo(TypeOf.Interface),
'IVirtualPathProvider': TypeInfo(TypeOf.Interface),
'IVirtualFile': TypeInfo(TypeOf.Interface),
'CacheControl': TypeInfo(TypeOf.Enum, enumValues:CacheControl.values),
'IContentTypeWriter': TypeInfo(TypeOf.Interface),
'IResponse': TypeInfo(TypeOf.Interface),
'RequestAttributes': TypeInfo(TypeOf.Enum, enumValues:RequestAttributes.values),
'IRequestPreferences': TypeInfo(TypeOf.Interface),
'IRequest': TypeInfo(TypeOf.Interface),
'HttpResult': TypeInfo(TypeOf.Class, create:() => HttpResult()),
'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
'FileInfo': TypeInfo(TypeOf.Class, create:() => FileInfo()),
'List<Cookie>': TypeInfo(TypeOf.Class, create:() => <Cookie>[]),
'Cookie': TypeInfo(TypeOf.Class, create:() => Cookie()),
'Func<IDisposable>': TypeInfo(TypeOf.Class, create:() => Func<IDisposable>()),
'IDisposable': TypeInfo(TypeOf.Class, create:() => IDisposable()),
'Map<String,String?>': TypeInfo(TypeOf.Class, create:() => Map<String,String?>()),
'HttpStatusCode': TypeInfo(TypeOf.Class, create:() => HttpStatusCode()),
'IHttpFile': TypeInfo(TypeOf.Interface),
});
Dart AccessyCodelockCallback DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /codelock/accessy/callback HTTP/1.1
Host: api.bokamera.se
Accept: application/json
Content-Type: application/json
Content-Length: length
{"EventType":"Unknown"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {}