using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Booklinker.API.ServiceModel.V2.Requests;
using CollectionsAPI.Contracts.DTOs;
using Booklinker.API.ServiceModel.V2.Responses;
namespace Booklinker.API.ServiceModel.V2.Requests
{
[DataContract]
public partial class CollectionSettingsBaseRequest
: V2BaseRequest, ICollectionSettingsBaseRequest
{
[DataMember(Name="profileImageId")]
public virtual string ProfileImageId { get; set; }
[DataMember(Name="signatureImageId")]
public virtual string SignatureImageId { get; set; }
[DataMember(Name="signatureText")]
public virtual string SignatureText { get; set; }
[DataMember(Name="signatureFont")]
public virtual string SignatureFont { get; set; }
[DataMember(Name="signatureAppearance")]
public virtual SignatureAppearance SignatureAppearance { get; set; }
}
[DataContract]
public partial class PutCollectionSettingsRequest
: CollectionSettingsBaseRequest, IPutCollectionSettingsRequest
{
[DataMember(Name="id")]
public virtual string Id { get; set; }
}
[DataContract]
public partial class V2BaseRequest
{
}
}
namespace Booklinker.API.ServiceModel.V2.Responses
{
[DataContract]
public partial class PutCollectionSettingsResponse
: V2BaseResponse
{
}
[DataContract]
public partial class V2BaseResponse
{
[DataMember(Name="responseStatus")]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
namespace CollectionsAPI.Contracts.DTOs
{
public enum SignatureAppearance
{
[EnumMember(Value="none")]
None,
[EnumMember(Value="text")]
Text,
[EnumMember(Value="upload")]
Upload,
}
}
C# PutCollectionSettingsRequest DTOs
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 /jsv/reply/PutCollectionSettingsRequest HTTP/1.1
Host: api.booklinker.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String,
profileImageId: String,
signatureImageId: String,
signatureText: String,
signatureFont: String,
signatureAppearance: none
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}