/* Options: Date: 2025-07-19 18:47:37 SwiftVersion: 5.0 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.clubready.com/api/current //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: ContractTextEndpoint.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/sales/agreement/contract", "GET") // @ApiResponse(Description="", ResponseType=typeof(ContractTextResponse), StatusCode=200) public class ContractTextEndpoint : IReturn, IContractTextEndpoint, IRestrictedApiRequest, Codable { public typealias Return = ContractTextResponse /** * IP address of the end user */ // @ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header") public var xForwardedFor:String /** * Api Authentication Key */ // @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query") public var apiKey:String /** * ID# of the store to get contract for. */ // @ApiMember(DataType="int", Description="ID# of the store to get contract for.", IsRequired=true, Name="StoreId", ParameterType="query") public var storeId:Int? public var chainId:Int? /** * Token for Incomplete Agreement to get details for */ // @ApiMember(DataType="string", Description="Token for Incomplete Agreement to get details for", IsRequired=true, Name="IncompleteAgreementToken", ParameterType="query") public var incompleteAgreementToken:String public var restrictedId:Int? public var restrictedResourceType:RestrictedResourceType required public init(){} } public class ContractTextResponse : ApiResponse2Base { public var contractHtml:String public var incompleteAgreementToken:String required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case contractHtml case incompleteAgreementToken } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) contractHtml = try container.decodeIfPresent(String.self, forKey: .contractHtml) incompleteAgreementToken = try container.decodeIfPresent(String.self, forKey: .incompleteAgreementToken) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if contractHtml != nil { try container.encode(contractHtml, forKey: .contractHtml) } if incompleteAgreementToken != nil { try container.encode(incompleteAgreementToken, forKey: .incompleteAgreementToken) } } } public enum RestrictedResourceType : String, Codable { case Store case Chain case User case Undefined } public protocol IApiDtoBase { var apiKey:String { get set } var storeId:Int? { get set } var chainId:Int? { get set } } public protocol IRestrictedApiRequest : IApiKeyEndpoint { var restrictedId:Int? { get set } var restrictedResourceType:RestrictedResourceType { get set } } public protocol IApiKeyEndpoint { var apiKey:String { get set } } public protocol IContractTextEndpoint : IApiDtoBase { var incompleteAgreementToken:String { get set } } public class ApiResponse2Base : Codable { public var success:Bool public var message:String required public init(){} }