/* Options: Date: 2026-11-08 11:51:57 SwiftVersion: 5.0 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: OpenApiSpecRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/oas", "GET") public class OpenApiSpecRequest : IReturn, Codable { public typealias Return = OpenApiDeclaration // @DataMember(Name="apiKey") public var apiKey:String? // @DataMember(Name="category") public var category:String? // @DataMember(Name="ver") public var version:String? required public init(){} } // @DataContract public class OpenApiDeclaration : Codable { // @DataMember(Name="swagger") public var swagger:String? // @DataMember(Name="info") public var info:OpenApiInfo? // @DataMember(Name="host") public var host:String? // @DataMember(Name="basePath") public var basePath:String? // @DataMember(Name="schemes") public var schemes:[String] = [] // @DataMember(Name="consumes") public var consumes:[String] = [] // @DataMember(Name="produces") public var produces:[String] = [] // @DataMember(Name="paths") public var paths:OrderedDictionary? // @DataMember(Name="definitions") public var definitions:[String:OpenApiSchema] = [:] // @DataMember(Name="parameters") public var parameters:[String:OpenApiParameter] = [:] // @DataMember(Name="responses") public var responses:OrderedDictionary? // @DataMember(Name="securityDefinitions") public var securityDefinitions:[String:OpenApiSecuritySchema] = [:] // @DataMember(Name="security") public var security:[[String:[String]]] = [] // @DataMember(Name="tags") public var tags:[OpenApiTag] = [] // @DataMember(Name="externalDocs") public var externalDocs:OpenApiExternalDocumentation? required public init(){} } // @DataContract public class OpenApiInfo : Codable { // @DataMember(Name="title") public var title:String? // @DataMember(Name="description") public var Description:String? // @DataMember(Name="termsOfServiceUrl") public var termsOfServiceUrl:String? // @DataMember(Name="contact") public var contact:OpenApiContact? // @DataMember(Name="license") public var license:OpenApiLicense? // @DataMember(Name="version") public var version:String? required public init(){} } public class OrderedDictionary : Codable { required public init(){} } // @DataContract public class OpenApiPath : Codable { // @DataMember(Name="$ref") public var ref:String? // @DataMember(Name="get") public var `get`:OpenApiOperation? // @DataMember(Name="put") public var put:OpenApiOperation? // @DataMember(Name="post") public var post:OpenApiOperation? // @DataMember(Name="delete") public var delete:OpenApiOperation? // @DataMember(Name="options") public var options:OpenApiOperation? // @DataMember(Name="head") public var head:OpenApiOperation? // @DataMember(Name="patch") public var patch:OpenApiOperation? // @DataMember(Name="parameters") public var parameters:[OpenApiParameter] = [] required public init(){} } // @DataContract public class OpenApiSchema : OpenApiDataTypeSchema { // @DataMember(Name="title") public var title:String? // @DataMember(Name="discriminator") public var discriminator:String? // @DataMember(Name="readOnly") public var readOnly:Bool? // @DataMember(Name="xml") public var xml:OpenApiXmlObject? // @DataMember(Name="externalDocs") public var externalDocs:OpenApiExternalDocumentation? // @DataMember(Name="example") public var example:String? // @DataMember(Name="required") public var required:[String] = [] // @DataMember(Name="allOf") public var allOf:OpenApiSchema? // @DataMember(Name="properties") public var properties:OrderedDictionary? // @DataMember(Name="additionalProperties") public var additionalProperties:OpenApiProperty? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case title case discriminator case readOnly case xml case externalDocs case example case required case allOf case properties case additionalProperties } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) title = try container.decodeIfPresent(String.self, forKey: .title) discriminator = try container.decodeIfPresent(String.self, forKey: .discriminator) readOnly = try container.decodeIfPresent(Bool.self, forKey: .readOnly) xml = try container.decodeIfPresent(OpenApiXmlObject.self, forKey: .xml) externalDocs = try container.decodeIfPresent(OpenApiExternalDocumentation.self, forKey: .externalDocs) example = try container.decodeIfPresent(String.self, forKey: .example) required = try container.decodeIfPresent([String].self, forKey: .required) ?? [] allOf = try container.decodeIfPresent(OpenApiSchema.self, forKey: .allOf) properties = try container.decodeIfPresent(OrderedDictionary.self, forKey: .properties) additionalProperties = try container.decodeIfPresent(OpenApiProperty.self, forKey: .additionalProperties) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if title != nil { try container.encode(title, forKey: .title) } if discriminator != nil { try container.encode(discriminator, forKey: .discriminator) } if readOnly != nil { try container.encode(readOnly, forKey: .readOnly) } if xml != nil { try container.encode(xml, forKey: .xml) } if externalDocs != nil { try container.encode(externalDocs, forKey: .externalDocs) } if example != nil { try container.encode(example, forKey: .example) } if required.count > 0 { try container.encode(required, forKey: .required) } if allOf != nil { try container.encode(allOf, forKey: .allOf) } if properties != nil { try container.encode(properties, forKey: .properties) } if additionalProperties != nil { try container.encode(additionalProperties, forKey: .additionalProperties) } } } // @DataContract public class OpenApiParameter : OpenApiDataTypeSchema { // @DataMember(Name="name") public var name:String? // @DataMember(Name="in") public var `in`:String? // @DataMember(Name="schema") public var schema:OpenApiSchema? // @DataMember(Name="allowEmptyValue") public var allowEmptyValue:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case name case `in` case schema case allowEmptyValue } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) name = try container.decodeIfPresent(String.self, forKey: .name) `in` = try container.decodeIfPresent(String.self, forKey: .`in`) schema = try container.decodeIfPresent(OpenApiSchema.self, forKey: .schema) allowEmptyValue = try container.decodeIfPresent(Bool.self, forKey: .allowEmptyValue) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if name != nil { try container.encode(name, forKey: .name) } if `in` != nil { try container.encode(`in`, forKey: .`in`) } if schema != nil { try container.encode(schema, forKey: .schema) } if allowEmptyValue != nil { try container.encode(allowEmptyValue, forKey: .allowEmptyValue) } } } // @DataContract public class OpenApiResponse : Codable { // @DataMember(Name="description") public var Description:String? // @DataMember(Name="schema") public var schema:OpenApiSchema? // @DataMember(Name="headers") public var headers:[String:OpenApiProperty] = [:] // @DataMember(Name="examples") public var examples:[String:String] = [:] required public init(){} } // @DataContract public class OpenApiSecuritySchema : Codable { // @DataMember(Name="type") public var type:String? // @DataMember(Name="description") public var Description:String? // @DataMember(Name="name") public var name:String? // @DataMember(Name="in") public var `in`:String? // @DataMember(Name="flow") public var flow:String? // @DataMember(Name="authorizationUrl") public var authorizationUrl:String? // @DataMember(Name="tokenUrl") public var tokenUrl:String? // @DataMember(Name="scopes") public var scopes:[String:String] = [:] required public init(){} } // @DataContract public class OpenApiTag : Codable { // @DataMember(Name="name") public var name:String? // @DataMember(Name="description") public var Description:String? // @DataMember(Name="externalDocs") public var externalDocs:OpenApiExternalDocumentation? required public init(){} } // @DataContract public class OpenApiExternalDocumentation : Codable { // @DataMember(Name="description") public var Description:String? // @DataMember(Name="url") public var url:String? required public init(){} } // @DataContract public class OpenApiContact : Codable { // @DataMember(Name="name") public var name:String? // @DataMember(Name="url") public var url:String? // @DataMember(Name="email") public var email:String? required public init(){} } // @DataContract public class OpenApiLicense : Codable { // @DataMember(Name="name") public var name:String? // @DataMember(Name="url") public var url:String? required public init(){} } // @DataContract public class OpenApiOperation : Codable { // @DataMember(Name="tags") public var tags:[String] = [] // @DataMember(Name="summary") public var summary:String? // @DataMember(Name="description") public var Description:String? // @DataMember(Name="externalDocs") public var externalDocs:OpenApiExternalDocumentation? // @DataMember(Name="operationId") public var operationId:String? // @DataMember(Name="consumes") public var consumes:[String] = [] // @DataMember(Name="produces") public var produces:[String] = [] // @DataMember(Name="parameters") public var parameters:[OpenApiParameter] = [] // @DataMember(Name="responses") public var responses:OrderedDictionary? // @DataMember(Name="schemes") public var schemes:[String] = [] // @DataMember(Name="deprecated") public var deprecated:Bool? // @DataMember(Name="security") public var security:[[String:[String]]] = [] required public init(){} } // @DataContract public class OpenApiXmlObject : Codable { // @DataMember(Name="name") public var name:String? // @DataMember(Name="namespace") public var namespace:String? // @DataMember(Name="prefix") public var `prefix`:String? // @DataMember(Name="attribute") public var attribute:Bool? // @DataMember(Name="wrapped") public var wrapped:Bool? required public init(){} } // @DataContract public class OpenApiProperty : OpenApiDataTypeSchema { 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 OpenApiDataTypeSchema : Codable { // @DataMember(Name="$ref") public var ref:String? // @DataMember(Name="description") public var Description:String? // @DataMember(Name="type") public var type:String? // @DataMember(Name="format") public var format:String? // @DataMember(Name="items") public var items:[String:Object] = [:] // @DataMember(Name="collectionFormat") public var collectionFormat:String? // @DataMember(Name="default") public var `default`:String? // @DataMember(Name="maximum") public var maximum:Double? // @DataMember(Name="exclusiveMaximum") public var exclusiveMaximum:Bool? // @DataMember(Name="minimum") public var minimum:Double? // @DataMember(Name="exclusiveMinimum") public var exclusiveMinimum:Bool? // @DataMember(Name="maxLength") public var maxLength:Int? // @DataMember(Name="minLength") public var minLength:Int? // @DataMember(Name="pattern") public var pattern:String? // @DataMember(Name="maxItems") public var maxItems:Int? // @DataMember(Name="minItems") public var minItems:Int? // @DataMember(Name="uniqueItems") public var uniqueItems:Bool? // @DataMember(Name="maxProperties") public var maxProperties:String? // @DataMember(Name="minProperties") public var minProperties:String? // @DataMember(Name="required") public var required:Bool? // @DataMember(Name="enum") public var `enum`:[String] = [] // @DataMember(Name="multipleOf") public var multipleOf:Double? // @DataMember(Name="x-nullable") public var nullable:Bool? required public init(){} }