Booklinker.API

<back to all web services

PutAccountRequest

Requires Authentication
The following routes are available for this service:
PUT/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;
}

// @DataContract
class PutAccountResponseData implements IConvertible
{
    // @DataMember(Name="oneTimeToken")
    String? oneTimeToken;

    PutAccountResponseData({this.oneTimeToken});
    PutAccountResponseData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        oneTimeToken = json['oneTimeToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'oneTimeToken': oneTimeToken
    };

    getTypeName() => "PutAccountResponseData";
    TypeContext? context = _ctx;
}

// @DataContract
class PutAccountResponse extends V2BaseResponse implements IConvertible
{
    // @DataMember(Name="data")
    PutAccountResponseData? data;

    PutAccountResponse({this.data});
    PutAccountResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        data = JsonConverters.fromJson(json['data'],'PutAccountResponseData',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'data': JsonConverters.toJson(data,'PutAccountResponseData',context!)
    });

    getTypeName() => "PutAccountResponse";
    TypeContext? context = _ctx;
}

enum SignatureAppearance
{
    None,
    Text,
    Upload,
}

// @DataContract
class PutAccountRequest implements IConvertible
{
    // @DataMember(Name="emailAddress")
    String? emailAddress;

    // @DataMember(Name="fullName")
    String? fullName;

    // @DataMember(Name="profileImageId")
    String? profileImageId;

    // @DataMember(Name="signatureImageId")
    String? signatureImageId;

    // @DataMember(Name="signatureFont")
    String? signatureFont;

    // @DataMember(Name="signatureAppearance")
    SignatureAppearance? signatureAppearance;

    PutAccountRequest({this.emailAddress,this.fullName,this.profileImageId,this.signatureImageId,this.signatureFont,this.signatureAppearance});
    PutAccountRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        emailAddress = json['emailAddress'];
        fullName = json['fullName'];
        profileImageId = json['profileImageId'];
        signatureImageId = json['signatureImageId'];
        signatureFont = json['signatureFont'];
        signatureAppearance = JsonConverters.fromJson(json['signatureAppearance'],'SignatureAppearance',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'emailAddress': emailAddress,
        'fullName': fullName,
        'profileImageId': profileImageId,
        'signatureImageId': signatureImageId,
        'signatureFont': signatureFont,
        'signatureAppearance': JsonConverters.toJson(signatureAppearance,'SignatureAppearance',context!)
    };

    getTypeName() => "PutAccountRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.booklinker.com', types: <String, TypeInfo> {
    'V2BaseResponse': TypeInfo(TypeOf.Class, create:() => V2BaseResponse()),
    'PutAccountResponseData': TypeInfo(TypeOf.Class, create:() => PutAccountResponseData()),
    'PutAccountResponse': TypeInfo(TypeOf.Class, create:() => PutAccountResponse()),
    'SignatureAppearance': TypeInfo(TypeOf.Enum, enumValues:SignatureAppearance.values),
    'PutAccountRequest': TypeInfo(TypeOf.Class, create:() => PutAccountRequest()),
});

Dart PutAccountRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /v1/account HTTP/1.1 
Host: api.booklinker.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	newEmail: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	success: False,
	oneTimeToken: String,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	errorCode: String,
	message: String,
	stackTrace: String,
	errors: 
	[
		{
			errorCode: String,
			fieldName: String,
			message: String,
			meta: 
			{
				String: String
			}
		}
	],
	meta: 
	{
		String: String
	}
}