Booklinker.API

<back to all web services

GetCollectionSettingsRequest

Requires Authentication
import Foundation
import ServiceStack

// @DataContract
public class GetCollectionSettingsRequest : V2BaseResponse
{
    // @DataMember(Name="id")
    public var id:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case id
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        id = try container.decodeIfPresent(String.self, forKey: .id)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if id != nil { try container.encode(id, forKey: .id) }
    }
}

// @DataContract
public class V2BaseResponse : Codable
{
    // @DataMember(Name="responseStatus")
    public var responseStatus:ResponseStatus

    required public init(){}
}

// @DataContract
public class GetCollectionsResponse : V2PaginatedBaseResponse, IGetCollectionsResponse
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

// @DataContract
public class V2PaginatedBaseResponse : V2BaseResponse
{
    // @DataMember(Name="page")
    public var page:V2PageObject

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case page
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        page = try container.decodeIfPresent(V2PageObject.self, forKey: .page)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if page != nil { try container.encode(page, forKey: .page) }
    }
}

// @DataContract
public class V2PageObject : Codable
{
    // @DataMember(Name="offset")
    public var offset:Int

    // @DataMember(Name="limit")
    public var limit:Int

    // @DataMember(Name="totalRecords")
    public var totalRecords:Int

    required public init(){}
}


Swift GetCollectionSettingsRequest DTOs

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

HTTP + CSV

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

POST /csv/reply/GetCollectionSettingsRequest HTTP/1.1 
Host: api.booklinker.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"id":"String","responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"page":{"offset":0,"limit":0,"totalRecords":0},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}