| GET | /v1/account |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class V2BaseResponse implements IConvertible
{
// @DataMember(Name="responseStatus")
ResponseStatus? responseStatus;
V2BaseResponse({this.responseStatus});
V2BaseResponse.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() => "V2BaseResponse";
TypeContext? context = _ctx;
}
abstract class IImageData
{
String? id;
String? provider;
String? providerImageId;
String? url;
Map<String,String?>? attributes;
}
enum SignatureAppearance
{
None,
Text,
Upload,
}
// @DataContract
class AccountData implements IConvertible
{
// @DataMember(Name="id")
String? id;
// @DataMember(Name="userId")
String? userId;
// @DataMember(Name="emailAddress")
String? emailAddress;
// @DataMember(Name="fullName")
String? fullName;
// @DataMember(Name="profileImage")
IImageData? profileImage;
// @DataMember(Name="signatureImage")
IImageData? signatureImage;
// @DataMember(Name="signatureFont")
String? signatureFont;
// @DataMember(Name="signatureAppearance")
SignatureAppearance? signatureAppearance;
AccountData({this.id,this.userId,this.emailAddress,this.fullName,this.profileImage,this.signatureImage,this.signatureFont,this.signatureAppearance});
AccountData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
userId = json['userId'];
emailAddress = json['emailAddress'];
fullName = json['fullName'];
profileImage = JsonConverters.fromJson(json['profileImage'],'IImageData',context!);
signatureImage = JsonConverters.fromJson(json['signatureImage'],'IImageData',context!);
signatureFont = json['signatureFont'];
signatureAppearance = JsonConverters.fromJson(json['signatureAppearance'],'SignatureAppearance',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'userId': userId,
'emailAddress': emailAddress,
'fullName': fullName,
'profileImage': JsonConverters.toJson(profileImage,'IImageData',context!),
'signatureImage': JsonConverters.toJson(signatureImage,'IImageData',context!),
'signatureFont': signatureFont,
'signatureAppearance': JsonConverters.toJson(signatureAppearance,'SignatureAppearance',context!)
};
getTypeName() => "AccountData";
TypeContext? context = _ctx;
}
// @DataContract
class GetAccountResponse extends V2BaseResponse implements IConvertible
{
// @DataMember(Name="data")
AccountData? data;
GetAccountResponse({this.data});
GetAccountResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
data = JsonConverters.fromJson(json['data'],'AccountData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'data': JsonConverters.toJson(data,'AccountData',context!)
});
getTypeName() => "GetAccountResponse";
TypeContext? context = _ctx;
}
// @DataContract
class GetAccountRequest implements IConvertible
{
GetAccountRequest();
GetAccountRequest.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "GetAccountRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.booklinker.com', types: <String, TypeInfo> {
'V2BaseResponse': TypeInfo(TypeOf.Class, create:() => V2BaseResponse()),
'IImageData': TypeInfo(TypeOf.Interface),
'SignatureAppearance': TypeInfo(TypeOf.Enum, enumValues:SignatureAppearance.values),
'AccountData': TypeInfo(TypeOf.Class, create:() => AccountData()),
'GetAccountResponse': TypeInfo(TypeOf.Class, create:() => GetAccountResponse()),
'GetAccountRequest': TypeInfo(TypeOf.Class, create:() => GetAccountRequest()),
});
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.
GET /v1/account HTTP/1.1 Host: api.booklinker.com Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"userAccount":{"email":"String","settings":{"id":"String","profileImageId":"String","signatureImageId":"String","signatureText":"String","signatureFont":"String","signatureAppearance":"none"}},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}