| GET | /references | Get all valid references | Get all valid references. |
|---|
import Foundation
import ServiceStack
public class ReferenceQuery : QueryDb2<ExternalReference, ReferenceQueryResponse>, ICompany
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public var companyId:String?
/**
* Id of the reference
*/
// @ApiMember(Description="Id of the reference")
public var id:String?
/**
* Internal Id of the reference. Example could be the Booking Id
*/
// @ApiMember(Description="Internal Id of the reference. Example could be the Booking Id")
public var ownerId:String?
/**
* The type of reference, you can name this parameter what you like. Example could be system_bookingid where the system is the external system
*/
// @ApiMember(Description="The type of reference, you can name this parameter what you like. Example could be system_bookingid where the system is the external system")
public var referenceType:String
/**
* The external data. Could be a Id or a JSON object or anything
*/
// @ApiMember(Description="The external data. Could be a Id or a JSON object or anything")
public var externalData:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case companyId
case id
case ownerId
case referenceType
case externalData
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
companyId = try container.decodeIfPresent(String.self, forKey: .companyId)
id = try container.decodeIfPresent(String.self, forKey: .id)
ownerId = try container.decodeIfPresent(String.self, forKey: .ownerId)
referenceType = try container.decodeIfPresent(String.self, forKey: .referenceType)
externalData = try container.decodeIfPresent(String.self, forKey: .externalData)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if companyId != nil { try container.encode(companyId, forKey: .companyId) }
if id != nil { try container.encode(id, forKey: .id) }
if ownerId != nil { try container.encode(ownerId, forKey: .ownerId) }
if referenceType != nil { try container.encode(referenceType, forKey: .referenceType) }
if externalData != nil { try container.encode(externalData, forKey: .externalData) }
}
}
public class ExternalReference : BaseModel, IBaseModelCreated, IBaseModelUpdated
{
// @Required()
public var companyId:String?
// @Required()
public var id:String?
// @Required()
public var ownerId:String?
// @Required()
public var referenceType:String?
// @Required()
public var referenceTypeId:Int?
public var externalData:String
public var internalData:String
public var createdBy:String
// @Required()
public var updatedDate:Date?
// @Required()
public var createdDate:Date?
public var modifiedDate:Date?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case companyId
case id
case ownerId
case referenceType
case referenceTypeId
case externalData
case internalData
case createdBy
case updatedDate
case createdDate
case modifiedDate
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
companyId = try container.decodeIfPresent(String.self, forKey: .companyId)
id = try container.decodeIfPresent(String.self, forKey: .id)
ownerId = try container.decodeIfPresent(String.self, forKey: .ownerId)
referenceType = try container.decodeIfPresent(String.self, forKey: .referenceType)
referenceTypeId = try container.decodeIfPresent(Int.self, forKey: .referenceTypeId)
externalData = try container.decodeIfPresent(String.self, forKey: .externalData)
internalData = try container.decodeIfPresent(String.self, forKey: .internalData)
createdBy = try container.decodeIfPresent(String.self, forKey: .createdBy)
updatedDate = try container.decodeIfPresent(Date.self, forKey: .updatedDate)
createdDate = try container.decodeIfPresent(Date.self, forKey: .createdDate)
modifiedDate = try container.decodeIfPresent(Date.self, forKey: .modifiedDate)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if companyId != nil { try container.encode(companyId, forKey: .companyId) }
if id != nil { try container.encode(id, forKey: .id) }
if ownerId != nil { try container.encode(ownerId, forKey: .ownerId) }
if referenceType != nil { try container.encode(referenceType, forKey: .referenceType) }
if referenceTypeId != nil { try container.encode(referenceTypeId, forKey: .referenceTypeId) }
if externalData != nil { try container.encode(externalData, forKey: .externalData) }
if internalData != nil { try container.encode(internalData, forKey: .internalData) }
if createdBy != nil { try container.encode(createdBy, forKey: .createdBy) }
if updatedDate != nil { try container.encode(updatedDate, forKey: .updatedDate) }
if createdDate != nil { try container.encode(createdDate, forKey: .createdDate) }
if modifiedDate != nil { try container.encode(modifiedDate, forKey: .modifiedDate) }
}
}
public class BaseModel : Codable
{
required public init(){}
}
public class ReferenceQueryResponse : Codable
{
public var companyId:String
public var id:String
public var ownerId:String
public var referenceType:String
public var referenceTypeId:Int
public var externalData:String
public var updated:Date
public var created:Date
public var createdBy:String
public var updatedBy:String
public var responseStatus:ResponseStatus
required public init(){}
}
public class AccessKeyTypeResponse : Codable
{
public var id:Int
public var keyType:String
public var Description:String
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /references HTTP/1.1 Host: api.bookmore.com Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<QueryResponseOfReferenceQueryResponseWg5EthtI xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Offset>0</Offset>
<Total>0</Total>
<Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<d2p1:ReferenceQueryResponse>
<d2p1:CompanyId>00000000-0000-0000-0000-000000000000</d2p1:CompanyId>
<d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
<d2p1:CreatedBy>String</d2p1:CreatedBy>
<d2p1:ExternalData>String</d2p1:ExternalData>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:OwnerId>00000000-0000-0000-0000-000000000000</d2p1:OwnerId>
<d2p1:ReferenceType>String</d2p1:ReferenceType>
<d2p1:ReferenceTypeId>0</d2p1:ReferenceTypeId>
<d2p1:ResponseStatus>
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d7p1:KeyValueOfstringstring>
<d7p1:Key>String</d7p1:Key>
<d7p1:Value>String</d7p1:Value>
</d7p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</Meta>
</d2p1:ResponseStatus>
<d2p1:Updated>0001-01-01T00:00:00</d2p1:Updated>
<d2p1:UpdatedBy>String</d2p1:UpdatedBy>
</d2p1:ReferenceQueryResponse>
</Results>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<ResponseStatus>
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>
</QueryResponseOfReferenceQueryResponseWg5EthtI>