From fad33dfebf9eb83d490344c348ae1b5d8db8ab5b Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@users.noreply.github.com> Date: Wed, 2 Oct 2024 23:25:46 +0100 Subject: [PATCH] [Swift6] better configuration (#19732) * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements * [swift6] general improvements --- .../src/main/resources/swift6/APIs.mustache | 80 +++- .../resources/swift6/CodableHelper.mustache | 3 +- .../main/resources/swift6/Extensions.mustache | 58 ++- .../swift6/JSONEncodingHelper.mustache | 6 +- .../src/main/resources/swift6/Models.mustache | 2 +- .../swift6/OpenAPIDateWithoutTime.mustache | 2 +- .../src/main/resources/swift6/_param.mustache | 2 +- .../src/main/resources/swift6/api.mustache | 81 ++-- .../main/resources/swift6/api_doc.mustache | 2 +- .../AlamofireImplementations.mustache | 52 +-- .../URLSessionImplementations.mustache | 26 +- .../Classes/OpenAPIs/APIs.swift | 59 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 18 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 324 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 18 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 180 +++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 66 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 144 ++++--- .../OpenAPIs/AlamofireImplementations.swift | 52 +-- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/OpenAPIDateWithoutTime.swift | 2 +- .../SwaggerClient/AppDelegate.swift | 2 +- .../BearerDecodableRequestBuilder.swift | 2 +- .../SwaggerClientTests/DateFormatTests.swift | 12 +- .../Classes/OpenAPIs/APIs.swift | 59 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 26 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 365 +++++++++-------- .../APIs/FakeClassnameTags123API.swift | 26 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 212 +++++----- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 81 ++-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 171 ++++---- .../OpenAPIs/AlamofireImplementations.swift | 52 +-- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 17 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 312 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 17 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 171 ++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 62 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 136 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 17 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 312 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 17 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 171 ++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 62 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 136 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 17 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 312 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 17 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 171 ++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 62 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 136 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 22 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 376 ++++++++++-------- .../APIs/FakeClassnameTags123API.swift | 18 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 180 +++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 66 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 144 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../SwaggerClientTests/DateFormatTests.swift | 12 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 18 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 324 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 18 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 180 +++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 66 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 144 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../Classes/OpenAPIs/APIs/DefaultAPI.swift | 16 +- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 17 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 312 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 17 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 171 ++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 62 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 136 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 18 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 324 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 18 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 180 +++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 66 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 144 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 18 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 324 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 18 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 180 +++++---- .../Classes/OpenAPIs/APIs/StoreAPI.swift | 66 +-- .../Classes/OpenAPIs/APIs/UserAPI.swift | 144 ++++--- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../client/petstore/swift6/swift6_test_all.sh | 4 +- .../Sources/PetstoreClient/APIs.swift | 51 ++- .../PetstoreClient/APIs/AnotherFakeAPI.swift | 18 +- .../Sources/PetstoreClient/APIs/FakeAPI.swift | 324 ++++++++------- .../APIs/FakeClassnameTags123API.swift | 18 +- .../Sources/PetstoreClient/APIs/PetAPI.swift | 180 +++++---- .../PetstoreClient/APIs/StoreAPI.swift | 66 +-- .../Sources/PetstoreClient/APIs/UserAPI.swift | 144 ++++--- .../PetstoreClient/CodableHelper.swift | 3 +- .../Sources/PetstoreClient/Extensions.swift | 56 ++- .../PetstoreClient/JSONEncodingHelper.swift | 6 +- .../Sources/PetstoreClient/Models.swift | 2 +- .../URLSessionImplementations.swift | 26 +- .../SwaggerClient/AppDelegate.swift | 2 +- .../BearerDecodableRequestBuilder.swift | 18 +- .../SwaggerClientTests/DateFormatTests.swift | 12 +- .../Classes/OpenAPIs/APIs.swift | 51 ++- .../Classes/OpenAPIs/APIs/DefaultAPI.swift | 16 +- .../Classes/OpenAPIs/CodableHelper.swift | 3 +- .../Classes/OpenAPIs/Extensions.swift | 56 ++- .../Classes/OpenAPIs/JSONEncodingHelper.swift | 6 +- .../Classes/OpenAPIs/Models.swift | 2 +- .../OpenAPIs/URLSessionImplementations.swift | 26 +- .../swift6/vaporLibrary/Package.resolved | 313 ++++++++------- .../Sources/PetstoreClient/APIs.swift | 29 +- .../PetstoreClient/APIs/AnotherFakeAPI.swift | 14 +- .../Sources/PetstoreClient/APIs/FakeAPI.swift | 174 ++++---- .../APIs/FakeClassnameTags123API.swift | 14 +- .../Sources/PetstoreClient/APIs/PetAPI.swift | 110 ++--- .../PetstoreClient/APIs/StoreAPI.swift | 48 +-- .../Sources/PetstoreClient/APIs/UserAPI.swift | 92 ++--- .../vaporLibrary/docs/AnotherFakeAPI.md | 2 +- .../swift6/vaporLibrary/docs/FakeAPI.md | 28 +- .../docs/FakeClassnameTags123API.md | 2 +- .../swift6/vaporLibrary/docs/PetAPI.md | 18 +- .../swift6/vaporLibrary/docs/StoreAPI.md | 8 +- .../swift6/vaporLibrary/docs/UserAPI.md | 16 +- 180 files changed, 6309 insertions(+), 5208 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/swift6/APIs.mustache b/modules/openapi-generator/src/main/resources/swift6/APIs.mustache index 4c2de503f4e..eeb29257cc9 100644 --- a/modules/openapi-generator/src/main/resources/swift6/APIs.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/APIs.mustache @@ -10,55 +10,91 @@ import FoundationNetworking #endif{{#useVapor}} import Vapor{{/useVapor}}{{#useAlamofire}} import Alamofire{{/useAlamofire}} +{{#swiftUseApiNamespace}} -{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class {{projectName}}API: @unchecked Sendable { - private init() {} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static let shared = {{projectName}}API() +{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{projectName}}API {} +{{/swiftUseApiNamespace}} + +{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class OpenAPIClient: @unchecked Sendable { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var basePath: String{{#useVapor}} + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var customHeaders: HTTPHeaders + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var apiClient: Vapor.Client? + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var apiWrapper: (inout Vapor.ClientRequest) throws -> () + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var contentConfiguration{{/useVapor}}{{^useVapor}} + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var customHeaders: [String: String] + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var credential: URLCredential? + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var requestBuilderFactory: RequestBuilderFactory + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var apiResponseQueue: DispatchQueue + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var codableHelper: CodableHelper - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var basePath = "{{{basePath}}}"{{#useVapor}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var customHeaders: HTTPHeaders = [:] - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var apiClient: Vapor.Client? = nil - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var apiWrapper: (inout Vapor.ClientRequest) throws -> () = { _ in } - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var contentConfiguration = ContentConfiguration.default(){{/useVapor}}{{^useVapor}}{{/useVapor}}{{^useVapor}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var customHeaders: [String: String] = [:] - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var credential: URLCredential?{{#useAlamofire}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var requestBuilderFactory: RequestBuilderFactory = AlamofireRequestBuilderFactory(){{/useAlamofire}}{{#useURLSession}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(){{/useURLSession}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var apiResponseQueue: DispatchQueue = .main /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var successfulStatusCodeRange: Range = 200..<300{{/useVapor}}{{#useAlamofire}} + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var successfulStatusCodeRange: Range{{#useAlamofire}} /// ResponseSerializer that will be used by the generator for `Data` responses /// /// If unchanged, Alamofires default `DataResponseSerializer` will be used. - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var dataResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(DataResponseSerializer()) + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var dataResponseSerializer: AnyResponseSerializer /// ResponseSerializer that will be used by the generator for `String` responses /// /// If unchanged, Alamofires default `StringResponseSerializer` will be used. - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var stringResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(StringResponseSerializer()){{/useAlamofire}} + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var stringResponseSerializer: AnyResponseSerializer{{/useAlamofire}}{{/useVapor}} + + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init( + basePath: String = "{{{basePath}}}",{{#useVapor}} + customHeaders: HTTPHeaders = [:], + apiClient: Vapor.Client? = nil, + apiWrapper: (inout Vapor.ClientRequest) throws -> () = { _ in }, + contentConfiguration = ContentConfiguration.default(){{/useVapor}}{{^useVapor}} + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = {{#useAlamofire}}AlamofireRequestBuilderFactory(){{/useAlamofire}}{{#useURLSession}}URLSessionRequestBuilderFactory(){{/useURLSession}}, + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300{{#useAlamofire}}, + dataResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(DataResponseSerializer()), + stringResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(StringResponseSerializer()){{/useAlamofire}}{{/useVapor}} + ) { + self.basePath = basePath{{#useVapor}} + customHeaders = customHeaders + apiClient = apiClient + apiWrapper = apiWrapper + contentConfiguration = contentConfiguration{{/useVapor}}{{^useVapor}} + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange{{#useAlamofire}} + self.dataResponseSerializer = dataResponseSerializer + self.stringResponseSerializer = stringResponseSerializer{{/useAlamofire}}{{/useVapor}} + } + + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static let shared = OpenAPIClient() }{{^useVapor}} {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var credential: URLCredential? + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var headers: [String: String] {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let parameters: [String: Any]? {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let method: String {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let URLString: String {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let requestTask: RequestTask = RequestTask() {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let requiresAuthentication: Bool + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var onProgressReady: ((Progress) -> Void)? - required {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders({{projectName}}API.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func addHeaders(_ aHeaders: [String: String]) { @@ -68,7 +104,7 @@ import Alamofire{{/useAlamofire}} } @discardableResult - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func execute(_ apiResponseQueue: DispatchQueue = {{projectName}}API.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -117,7 +153,7 @@ import Alamofire{{/useAlamofire}} } {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func addCredential() -> Self { - credential = {{projectName}}API.shared.credential + credential = openAPIClient.credential return self } } diff --git a/modules/openapi-generator/src/main/resources/swift6/CodableHelper.mustache b/modules/openapi-generator/src/main/resources/swift6/CodableHelper.mustache index 6f9a5e98947..8ce3ec679b7 100644 --- a/modules/openapi-generator/src/main/resources/swift6/CodableHelper.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/CodableHelper.mustache @@ -8,8 +8,7 @@ import Foundation {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class CodableHelper: @unchecked Sendable { - private init() {} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static let shared = CodableHelper() + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/modules/openapi-generator/src/main/resources/swift6/Extensions.mustache b/modules/openapi-generator/src/main/resources/swift6/Extensions.mustache index f5d96f2077c..d95a7d05fe9 100644 --- a/modules/openapi-generator/src/main/resources/swift6/Extensions.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/Extensions.mustache @@ -15,97 +15,97 @@ import AnyCodable import Vapor{{/useVapor}}{{^useVapor}} extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } }{{/useVapor}}{{#generateModelAdditionalProperties}} @@ -229,13 +229,7 @@ extension KeyedDecodingContainerProtocol { return decimalValue } -}{{/generateModelAdditionalProperties}}{{^useVapor}} - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return {{projectName}}API.shared.successfulStatusCodeRange.contains(statusCode) - } -}{{/useVapor}}{{#usePromiseKit}} +}{{/generateModelAdditionalProperties}}{{#usePromiseKit}} extension RequestBuilder { {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func execute() -> Promise> { diff --git a/modules/openapi-generator/src/main/resources/swift6/JSONEncodingHelper.mustache b/modules/openapi-generator/src/main/resources/swift6/JSONEncodingHelper.mustache index 311f6b54bdc..5a0cebbc7e4 100644 --- a/modules/openapi-generator/src/main/resources/swift6/JSONEncodingHelper.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/JSONEncodingHelper.mustache @@ -9,12 +9,12 @@ import Foundation {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class JSONEncodingHelper { - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ import Foundation return params } - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/modules/openapi-generator/src/main/resources/swift6/Models.mustache b/modules/openapi-generator/src/main/resources/swift6/Models.mustache index 4db4c3dac2d..302ff2ba567 100644 --- a/modules/openapi-generator/src/main/resources/swift6/Models.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/Models.mustache @@ -11,7 +11,7 @@ import FoundationNetworking import Alamofire{{/useAlamofire}} protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/modules/openapi-generator/src/main/resources/swift6/OpenAPIDateWithoutTime.mustache b/modules/openapi-generator/src/main/resources/swift6/OpenAPIDateWithoutTime.mustache index 5a0c0b0d6fb..dd7f4b3100e 100644 --- a/modules/openapi-generator/src/main/resources/swift6/OpenAPIDateWithoutTime.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/OpenAPIDateWithoutTime.mustache @@ -77,7 +77,7 @@ import Foundation } extension OpenAPIDateWithoutTime: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return OpenISO8601DateFormatter.withoutTime.string(from: self.normalizedWrappedDate()) } } diff --git a/modules/openapi-generator/src/main/resources/swift6/_param.mustache b/modules/openapi-generator/src/main/resources/swift6/_param.mustache index 00b0c399c63..4ec0805b5e6 100644 --- a/modules/openapi-generator/src/main/resources/swift6/_param.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/_param.mustache @@ -1 +1 @@ -"{{baseName}}": {{#isQueryParam}}(wrappedValue: {{/isQueryParam}}{{paramName}}{{^required}}?{{/required}}.encodeToJSON(){{#isQueryParam}}, isExplode: {{isExplode}}){{/isQueryParam}} \ No newline at end of file +"{{baseName}}": {{#isQueryParam}}(wrappedValue: {{/isQueryParam}}{{paramName}}{{^required}}?{{/required}}.encodeToJSON(codableHelper: openAPIClient.codableHelper){{#isQueryParam}}, isExplode: {{isExplode}}){{/isQueryParam}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/swift6/api.mustache b/modules/openapi-generator/src/main/resources/swift6/api.mustache index 5626dae3188..bbef6da2d8d 100644 --- a/modules/openapi-generator/src/main/resources/swift6/api.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/api.mustache @@ -23,7 +23,10 @@ extension {{projectName}}API { /** {{{.}}} */{{/description}} {{#objcCompatible}}@objcMembers {{/objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class {{classname}}{{#objcCompatible}} : NSObject{{/objcCompatible}} { {{^apiStaticMethod}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init() {} + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let openAPIClient: OpenAPIClient + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } {{/apiStaticMethod}} {{#operation}} {{#allParams}} @@ -63,16 +66,16 @@ extension {{projectName}}API { {{#summary}} {{{.}}} {{/summary}}{{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - parameter completion: completion handler to receive the data and the error objects */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @discardableResult - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: {{{returnType}}}{{^returnType}}Void{{/returnType}}?, _ error: Error?) -> Void) -> RequestTask { - return {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: OpenAPIClient = OpenAPIClient.shared{{/apiStaticMethod}}, completion: @Sendable @escaping (_ data: {{{returnType}}}{{^returnType}}Void{{/returnType}}?, _ error: Error?) -> Void) -> RequestTask { + return {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: openAPIClient{{/apiStaticMethod}}).execute { result in switch result { {{#returnType}} case let .success(response): @@ -99,15 +102,16 @@ extension {{projectName}}API { {{#summary}} {{{.}}} {{/summary}}{{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} + - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - returns: Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}} {{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: OpenAPIClient = OpenAPIClient.shared{{/apiStaticMethod}}) -> Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { let deferred = Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.pending() - {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute { result in + {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: openAPIClient{{/apiStaticMethod}}).execute { result in switch result { {{#returnType}} case let .success(response): @@ -130,16 +134,16 @@ extension {{projectName}}API { {{#summary}} {{{.}}} {{/summary}}{{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - returns: Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.shared.apiResponseQueue) -> Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: OpenAPIClient = OpenAPIClient.shared{{/apiStaticMethod}}) -> Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { return Observable.create { observer -> Disposable in - let requestTask = self.{{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in + let requestTask = self.{{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: openAPIClient{{/apiStaticMethod}}).execute { result in switch result { {{#returnType}} case let .success(response): @@ -167,7 +171,8 @@ extension {{projectName}}API { {{#summary}} {{{.}}} {{/summary}}{{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} + - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - returns: AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> */ #if canImport(Combine) @@ -175,8 +180,8 @@ extension {{projectName}}API { @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { - let requestBuilder = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: OpenAPIClient = OpenAPIClient.shared{{/apiStaticMethod}}) -> AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { + let requestBuilder = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: openAPIClient{{/apiStaticMethod}}) let requestTask = requestBuilder.requestTask return {{#combineDeferred}}Deferred { {{/combineDeferred}}Future<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { promise in nonisolated(unsafe) let promise = promise @@ -212,15 +217,16 @@ extension {{projectName}}API { {{#summary}} {{{.}}} {{/summary}}{{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} + - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - returns: {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}} */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) async throws(ErrorResponse){{#returnType}} -> {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{/returnType}} { - return try await {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute().body + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: OpenAPIClient = OpenAPIClient.shared{{/apiStaticMethod}}) async throws(ErrorResponse){{#returnType}} -> {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{/returnType}} { + return try await {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: openAPIClient{{/apiStaticMethod}}).execute().body } {{/useAsyncAwait}} {{#useResult}} @@ -229,16 +235,16 @@ extension {{projectName}}API { {{#summary}} {{{.}}} {{/summary}}{{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - parameter completion: completion handler to receive the result */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @discardableResult - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, ErrorResponse>) -> Void) -> RequestTask { - return {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}, {{/allParams}}{{#apiStaticMethod}}openAPIClient: OpenAPIClient = OpenAPIClient.shared, {{/apiStaticMethod}}completion: @Sendable @escaping (_ result: Swift.Result<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, ErrorResponse>) -> Void) -> RequestTask { + return {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: openAPIClient{{/apiStaticMethod}}).execute { result in switch result { {{#returnType}} case let .success(response): @@ -283,15 +289,15 @@ extension {{projectName}}API { {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}Raw({{#allParams}}{{paramName}}: {{#isEnum}}{{#isArray}}[{{enumName}}_{{operationId}}]{{/isArray}}{{^isArray}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isArray}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: HTTPHeaders = {{projectName}}API.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}Raw({{#allParams}}{{paramName}}: {{#isEnum}}{{#isArray}}[{{enumName}}_{{operationId}}]{{/isArray}}{{^isArray}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isArray}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} localVariablePath = "{{{path}}}"{{#pathParams}} let {{paramName}}PreEscape = String(describing: {{#isEnum}}{{paramName}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}{{paramName}}{{/isEnum}}) let {{paramName}}PostEscape = {{paramName}}PreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{{=<% %>=}}{<%baseName%>}<%={{ }}=%>", with: {{paramName}}PostEscape, options: .literal, range: nil){{/pathParams}} - let localVariableURLString = {{projectName}}API.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = {{#swiftUseApiNamespace}}{{projectName}}API.{{/swiftUseApiNamespace}}{{projectName}}API.shared.apiClient else { - fatalError("{{projectName}}API.shared.apiClient is not set.") + guard let localVariableApiClient = {{#swiftUseApiNamespace}}{{projectName}}API.{{/swiftUseApiNamespace}}openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.{{httpMethod}}, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -312,8 +318,8 @@ extension {{projectName}}API { } try localVariableRequest.query.encode(QueryParams({{#queryParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/queryParams}})){{/hasQueryParams}} {{#hasBodyParam}} - {{#bodyParam}}{{#required}}{{#isBinary}}localVariableRequest.body = ByteBuffer(data: {{paramName}}){{/isBinary}}{{^isBinary}}{{#isFile}}localVariableRequest.body = ByteBuffer(data: {{paramName}}){{/isFile}}try localVariableRequest.content.encode({{paramName}}, using: {{projectName}}API.shared.contentConfiguration.requireEncoder(for: {{{dataType}}}.defaultContentType)){{/isBinary}}{{/required}}{{^required}}if let localVariableBody = {{paramName}} { - {{#isBinary}}localVariableRequest.body = ByteBuffer(data: localVariableBody){{/isBinary}}{{^isBinary}}{{#isFile}}localVariableRequest.body = ByteBuffer(data: localVariableBody){{/isFile}}try localVariableRequest.content.encode(localVariableBody, using: {{projectName}}API.shared.contentConfiguration.requireEncoder(for: {{{dataType}}}.defaultContentType)){{/isBinary}} + {{#bodyParam}}{{#required}}{{#isBinary}}localVariableRequest.body = ByteBuffer(data: {{paramName}}){{/isBinary}}{{^isBinary}}{{#isFile}}localVariableRequest.body = ByteBuffer(data: {{paramName}}){{/isFile}}try localVariableRequest.content.encode({{paramName}}, using: openAPIClient.contentConfiguration.requireEncoder(for: {{{dataType}}}.defaultContentType)){{/isBinary}}{{/required}}{{^required}}if let localVariableBody = {{paramName}} { + {{#isBinary}}localVariableRequest.body = ByteBuffer(data: localVariableBody){{/isBinary}}{{^isBinary}}{{#isFile}}localVariableRequest.body = ByteBuffer(data: localVariableBody){{/isFile}}try localVariableRequest.content.encode(localVariableBody, using: openAPIClient.contentConfiguration.requireEncoder(for: {{{dataType}}}.defaultContentType)){{/isBinary}} }{{/required}}{{/bodyParam}} {{/hasBodyParam}} {{#hasFormParams}}struct FormParams: Content { @@ -322,7 +328,7 @@ extension {{projectName}}API { var {{paramName}}: {{#isEnum}}{{#isArray}}[{{enumName}}_{{operationId}}]{{/isArray}}{{^isArray}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isArray}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}?{{/required}} {{/formParams}} } - try localVariableRequest.content.encode(FormParams({{#formParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/formParams}}), using: {{projectName}}API.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)){{/hasFormParams}} + try localVariableRequest.content.encode(FormParams({{#formParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/formParams}}), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)){{/hasFormParams}} try beforeSend(&localVariableRequest) } } @@ -363,12 +369,12 @@ extension {{projectName}}API { {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isArray}}[{{enumName}}_{{operationId}}]{{/isArray}}{{^isArray}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isArray}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: HTTPHeaders = {{projectName}}API.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture<{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isArray}}[{{enumName}}_{{operationId}}]{{/isArray}}{{^isArray}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isArray}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture<{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}> { return {{operationId}}Raw({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}} in switch response.status.code { {{#responses}} {{#isDefault}}default{{/isDefault}}{{^isDefault}}case {{code}}{{/isDefault}}: - return .http{{code}}({{#dataType}}value: {{#isBinary}}Data(buffer: response.body ?? ByteBuffer()){{/isBinary}}{{^isBinary}}{{#isFile}}Data(buffer: response.body ?? ByteBuffer()){{/isFile}}{{^isFile}}try response.content.decode({{{dataType}}}.self, using: {{projectName}}API.shared.contentConfiguration.requireDecoder(for: {{{dataType}}}.defaultContentType)){{/isFile}}{{/isBinary}}, {{/dataType}}raw: response) + return .http{{code}}({{#dataType}}value: {{#isBinary}}Data(buffer: response.body ?? ByteBuffer()){{/isBinary}}{{^isBinary}}{{#isFile}}Data(buffer: response.body ?? ByteBuffer()){{/isFile}}{{^isFile}}try response.content.decode({{{dataType}}}.self, using: openAPIClient.contentConfiguration.requireDecoder(for: {{{dataType}}}.defaultContentType)){{/isFile}}{{/isBinary}}, {{/dataType}}raw: response) {{/responses}} {{^hasDefaultResponse}} default: @@ -401,24 +407,25 @@ extension {{projectName}}API { {{/externalDocs}} {{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}} - {{/allParams}} + {{/allParams}}{{#apiStaticMethod}} + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request.{{/apiStaticMethod}} - returns: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{description}} */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} {{#apiStaticMethod}}class {{/apiStaticMethod}}func {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#apiStaticMethod}}{{#hasParams}}, {{/hasParams}}openAPIClient: OpenAPIClient = OpenAPIClient.shared{{/apiStaticMethod}}) -> RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} localVariablePath = "{{{path}}}"{{#pathParams}} let {{paramName}}PreEscape = "\({{#isEnum}}{{paramName}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}APIHelper.mapValueToPathItem({{paramName}}){{/isEnum}})" let {{paramName}}PostEscape = {{paramName}}PreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{{=<% %>=}}{<%baseName%>}<%={{ }}=%>", with: {{paramName}}PostEscape, options: .literal, range: nil){{/pathParams}} - let localVariableURLString = {{projectName}}API.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath {{#bodyParam}} {{#isBinary}} let localVariableParameters = ["body": {{paramName}}] {{/isBinary}} {{^isBinary}} - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: {{paramName}}) + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: {{paramName}}, codableHelper: openAPIClient.codableHelper) {{/isBinary}} {{/bodyParam}} {{^bodyParam}} @@ -453,9 +460,9 @@ extension {{projectName}}API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.Type = {{projectName}}API.shared.requestBuilderFactory.{{#returnType}}getBuilder(){{/returnType}}{{^returnType}}getNonDecodableBuilder(){{/returnType}} + let localVariableRequestBuilder: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.Type = openAPIClient.requestBuilderFactory.{{#returnType}}getBuilder(){{/returnType}}{{^returnType}}getNonDecodableBuilder(){{/returnType}} - return localVariableRequestBuilder.init(method: "{{httpMethod}}", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: {{#hasAuthMethods}}true{{/hasAuthMethods}}{{^hasAuthMethods}}false{{/hasAuthMethods}}) + return localVariableRequestBuilder.init(method: "{{httpMethod}}", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: {{#hasAuthMethods}}true{{/hasAuthMethods}}{{^hasAuthMethods}}false{{/hasAuthMethods}}, openAPIClient: openAPIClient) } {{/useVapor}} {{/operation}} diff --git a/modules/openapi-generator/src/main/resources/swift6/api_doc.mustache b/modules/openapi-generator/src/main/resources/swift6/api_doc.mustache index 7faccc1a1d8..89459f09d81 100644 --- a/modules/openapi-generator/src/main/resources/swift6/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/api_doc.mustache @@ -26,7 +26,7 @@ Method | HTTP request | Description {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Observable<{{{returnType}}}{{^returnType}}Void{{/returnType}}> {{/useRxSwift}} {{#useVapor}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: HTTPHeaders = {{projectName}}API.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture<{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}> + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture<{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}> {{/useVapor}} ``` diff --git a/modules/openapi-generator/src/main/resources/swift6/libraries/alamofire/AlamofireImplementations.mustache b/modules/openapi-generator/src/main/resources/swift6/libraries/alamofire/AlamofireImplementations.mustache index 71610c7b4bc..02cbd6f9a1e 100644 --- a/modules/openapi-generator/src/main/resources/swift6/libraries/alamofire/AlamofireImplementations.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/libraries/alamofire/AlamofireImplementations.mustache @@ -7,12 +7,14 @@ import Foundation import Alamofire -class AlamofireRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class AlamofireRequestBuilderFactory: RequestBuilderFactory { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init() {} + + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func getNonDecodableBuilder() -> RequestBuilder.Type { return AlamofireRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func getBuilder() -> RequestBuilder.Type { return AlamofireDecodableRequestBuilder.self } } @@ -26,8 +28,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { } {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { - required {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -84,7 +86,7 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { } @discardableResult - override {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func execute(_ apiResponseQueue: DispatchQueue = {{projectName}}API.shared.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func execute(completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let managerId = UUID().uuidString // Create a new manager for each request to customize its request header let manager = createAlamofireSession() @@ -138,7 +140,7 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { requestTask.set(request: upload) - self.processRequest(request: upload, managerId, apiResponseQueue, completion) + self.processRequest(request: upload, managerId: managerId, completion: completion) } else if contentType.hasPrefix("application/x-www-form-urlencoded") { encoding = URLEncoding(destination: .httpBody) } else { @@ -154,14 +156,14 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { if let onProgressReady = self.onProgressReady { onProgressReady(request.uploadProgress) } - processRequest(request: request, managerId, apiResponseQueue, completion) + processRequest(request: request, managerId: managerId, completion: completion) requestTask.set(request: request) } return requestTask } - fileprivate func processRequest(request: DataRequest, _ managerId: String, _ apiResponseQueue: DispatchQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { + fileprivate func processRequest(request: DataRequest, managerId: String, completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { if let credential = self.credential { request.authenticate(with: credential) } @@ -170,12 +172,12 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { AlamofireRequestBuilderConfiguration.shared.managerStore[managerId] = nil } - let validatedRequest = request.validate(statusCode: {{projectName}}API.shared.successfulStatusCodeRange) + let validatedRequest = request.validate(statusCode: openAPIClient.successfulStatusCodeRange) switch T.self { case is Void.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: {{projectName}}API.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { voidResponse in cleanupRequest() @@ -255,7 +257,7 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class AlamofireDecodableRequestBuilder: AlamofireRequestBuilder, @unchecked Sendable { - override fileprivate func processRequest(request: DataRequest, _ managerId: String, _ apiResponseQueue: DispatchQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { + override fileprivate func processRequest(request: DataRequest, managerId: String, completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { if let credential = self.credential { request.authenticate(with: credential) } @@ -264,12 +266,12 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { AlamofireRequestBuilderConfiguration.shared.managerStore[managerId] = nil } - let validatedRequest = request.validate(statusCode: {{projectName}}API.shared.successfulStatusCodeRange) + let validatedRequest = request.validate(statusCode: openAPIClient.successfulStatusCodeRange) switch T.self { case is String.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: {{projectName}}API.shared.stringResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.stringResponseSerializer, completionHandler: { stringResponse in cleanupRequest() @@ -282,8 +284,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { }) case is URL.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: {{projectName}}API.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -330,8 +332,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { return }) case is Void.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: {{projectName}}API.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { voidResponse in cleanupRequest() @@ -344,8 +346,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { }) case is Data.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: {{projectName}}API.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -358,8 +360,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { }) default: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: {{projectName}}API.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -382,7 +384,7 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = self.openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/modules/openapi-generator/src/main/resources/swift6/libraries/urlsession/URLSessionImplementations.mustache b/modules/openapi-generator/src/main/resources/swift6/libraries/urlsession/URLSessionImplementations.mustache index eadf5f2bf97..22c9234cb1f 100644 --- a/modules/openapi-generator/src/main/resources/swift6/libraries/urlsession/URLSessionImplementations.mustache +++ b/modules/openapi-generator/src/main/resources/swift6/libraries/urlsession/URLSessionImplementations.mustache @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class URLSessionRequestBuilderFactory: RequestBuilderFactory { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init() {} + + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { */ {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} var taskDidReceiveChallenge: {{projectName}}APIChallengeHandler? - required {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { } @discardableResult - override {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func execute(_ apiResponseQueue: DispatchQueue = {{projectName}}API.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in {{projectName}}API.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ fileprivate class URLSessionRequestBuilderConfiguration: @unchecked Sendable { return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index 140ba87dc4a..f91846b26ee 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -10,49 +10,74 @@ import FoundationNetworking #endif import Alamofire -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = AlamofireRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range /// ResponseSerializer that will be used by the generator for `Data` responses /// /// If unchanged, Alamofires default `DataResponseSerializer` will be used. - public var dataResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(DataResponseSerializer()) + public var dataResponseSerializer: AnyResponseSerializer /// ResponseSerializer that will be used by the generator for `String` responses /// /// If unchanged, Alamofires default `StringResponseSerializer` will be used. - public var stringResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(StringResponseSerializer()) + public var stringResponseSerializer: AnyResponseSerializer + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = AlamofireRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300, + dataResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(DataResponseSerializer()), + stringResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(StringResponseSerializer()) + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + self.dataResponseSerializer = dataResponseSerializer + self.stringResponseSerializer = stringResponseSerializer + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -62,7 +87,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -74,7 +99,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index ae7f51340cb..3383960de65 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -16,12 +16,12 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -36,12 +36,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,8 +53,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index 9820c288434..989882d96b7 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -15,12 +15,12 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -34,12 +34,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -49,20 +51,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -76,12 +78,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -91,20 +95,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -118,12 +122,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -133,20 +139,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -160,12 +166,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -175,20 +183,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -202,12 +210,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -217,21 +227,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -244,17 +254,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -263,21 +275,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -292,12 +304,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -307,9 +321,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -329,12 +343,12 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: OpenAPIDateWithoutTime? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: OpenAPIDateWithoutTime? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -352,39 +366,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: OpenAPIDateWithoutTime? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: OpenAPIDateWithoutTime? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -398,9 +414,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -481,12 +497,12 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -501,21 +517,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -523,23 +541,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -551,12 +569,12 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -571,48 +589,50 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -626,12 +646,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -641,9 +663,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -651,12 +673,12 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -670,15 +692,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -692,8 +716,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 2a601f50172..c6e49aeda8f 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -16,12 +16,12 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -39,12 +39,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,8 +56,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 0bd82f5522e..8ad6b197024 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -16,12 +16,12 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -41,12 +41,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -56,9 +58,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -66,12 +68,12 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -88,28 +90,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -125,12 +129,12 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -148,16 +152,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -166,22 +172,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @available(*, deprecated, message: "This operation is deprecated.") @discardableResult - open class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -199,17 +205,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -218,21 +226,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { - return getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { + return getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -250,14 +258,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -268,21 +278,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -299,12 +309,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -314,9 +326,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -325,12 +337,12 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -347,19 +359,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -373,9 +387,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -384,12 +398,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -406,19 +420,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -432,9 +448,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -443,12 +459,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -465,19 +481,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -491,8 +509,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 80d459964d4..0e29832db78 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -16,12 +16,12 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,14 +36,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,20 +56,20 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { - return getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { + return getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -84,11 +86,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -99,21 +103,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -128,14 +132,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -146,21 +152,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -174,12 +180,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -189,8 +197,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index 6682666b17c..3e3eecc2745 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -16,12 +16,12 @@ open class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,12 +36,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,21 +53,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -79,12 +81,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -94,21 +98,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -122,12 +126,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -137,21 +143,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -166,14 +172,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -184,21 +192,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { - return getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { + return getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -212,14 +220,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -230,9 +240,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -240,12 +250,12 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -260,18 +270,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -280,20 +292,20 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -306,11 +318,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -321,9 +335,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -331,12 +345,12 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -351,16 +365,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -370,8 +386,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift index a597437ab5a..5d91754cf45 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift @@ -7,12 +7,14 @@ import Foundation import Alamofire -class AlamofireRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class AlamofireRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return AlamofireRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return AlamofireDecodableRequestBuilder.self } } @@ -26,8 +28,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { } open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -84,7 +86,7 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let managerId = UUID().uuidString // Create a new manager for each request to customize its request header let manager = createAlamofireSession() @@ -138,7 +140,7 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { requestTask.set(request: upload) - self.processRequest(request: upload, managerId, apiResponseQueue, completion) + self.processRequest(request: upload, managerId: managerId, completion: completion) } else if contentType.hasPrefix("application/x-www-form-urlencoded") { encoding = URLEncoding(destination: .httpBody) } else { @@ -154,14 +156,14 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { if let onProgressReady = self.onProgressReady { onProgressReady(request.uploadProgress) } - processRequest(request: request, managerId, apiResponseQueue, completion) + processRequest(request: request, managerId: managerId, completion: completion) requestTask.set(request: request) } return requestTask } - fileprivate func processRequest(request: DataRequest, _ managerId: String, _ apiResponseQueue: DispatchQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { + fileprivate func processRequest(request: DataRequest, managerId: String, completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { if let credential = self.credential { request.authenticate(with: credential) } @@ -170,12 +172,12 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { AlamofireRequestBuilderConfiguration.shared.managerStore[managerId] = nil } - let validatedRequest = request.validate(statusCode: PetstoreClientAPI.shared.successfulStatusCodeRange) + let validatedRequest = request.validate(statusCode: openAPIClient.successfulStatusCodeRange) switch T.self { case is Void.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { voidResponse in cleanupRequest() @@ -255,7 +257,7 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { open class AlamofireDecodableRequestBuilder: AlamofireRequestBuilder, @unchecked Sendable { - override fileprivate func processRequest(request: DataRequest, _ managerId: String, _ apiResponseQueue: DispatchQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { + override fileprivate func processRequest(request: DataRequest, managerId: String, completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { if let credential = self.credential { request.authenticate(with: credential) } @@ -264,12 +266,12 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild AlamofireRequestBuilderConfiguration.shared.managerStore[managerId] = nil } - let validatedRequest = request.validate(statusCode: PetstoreClientAPI.shared.successfulStatusCodeRange) + let validatedRequest = request.validate(statusCode: openAPIClient.successfulStatusCodeRange) switch T.self { case is String.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.stringResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.stringResponseSerializer, completionHandler: { stringResponse in cleanupRequest() @@ -282,8 +284,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild }) case is URL.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -330,8 +332,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild return }) case is Void.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { voidResponse in cleanupRequest() @@ -344,8 +346,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild }) case is Data.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -358,8 +360,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild }) default: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -382,7 +384,7 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = self.openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 4df376e782e..2074ad44851 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -11,7 +11,7 @@ import FoundationNetworking import Alamofire protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/OpenAPIDateWithoutTime.swift b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/OpenAPIDateWithoutTime.swift index 57f3ecca372..9c6c61bed46 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/OpenAPIDateWithoutTime.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/OpenAPIDateWithoutTime.swift @@ -77,7 +77,7 @@ public struct OpenAPIDateWithoutTime: Codable, Hashable, Equatable { } extension OpenAPIDateWithoutTime: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return OpenISO8601DateFormatter.withoutTime.string(from: self.normalizedWrappedDate()) } } diff --git a/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift b/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift index 57d028db89a..801cf3e84fc 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift @@ -18,7 +18,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Override point for customization after application launch. // Customize requestBuilderFactory - PetstoreClientAPI.shared.requestBuilderFactory = BearerRequestBuilderFactory() + OpenAPIClient.shared.requestBuilderFactory = BearerRequestBuilderFactory() return true } diff --git a/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift b/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift index a9e9576d389..911ef68ca85 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift @@ -78,7 +78,7 @@ class BearerTokenHandler: RequestInterceptor, @unchecked Sendable { let dummyBearerToken = "..." bearerToken = dummyBearerToken - PetstoreClientAPI.shared.customHeaders["Authorization"] = "Bearer \(dummyBearerToken)" + OpenAPIClient.shared.customHeaders["Authorization"] = "Bearer \(dummyBearerToken)" completionHandler(true) } diff --git a/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift b/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift index 979ef8d6667..c7726214482 100644 --- a/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift +++ b/samples/client/petstore/swift6/alamofireLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift @@ -47,7 +47,7 @@ class DateFormatTests: XCTestCase { return } - var encodedDate = utcDate.encodeToJSON() as! String + var encodedDate = utcDate.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) // test with a positive timzone offset from UTC @@ -59,7 +59,7 @@ class DateFormatTests: XCTestCase { return } - encodedDate = nonUTCDate1.encodeToJSON() as! String + encodedDate = nonUTCDate1.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) // test with a negative timzone offset from UTC @@ -71,14 +71,14 @@ class DateFormatTests: XCTestCase { return } - encodedDate = nonUTCDate2.encodeToJSON() as! String + encodedDate = nonUTCDate2.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) } func testCodableAlwaysResultsInUTCEncodedDate() throws { - CodableHelper.shared.jsonEncoder.outputFormatting.remove(.prettyPrinted) + OpenAPIClient.shared.codableHelper.jsonEncoder.outputFormatting.remove(.prettyPrinted) let jsonData = "{\"date\":\"1970-01-01T00:00:00.000Z\"}".data(using: .utf8)! - let decodeResult = CodableHelper.shared.decode(DateTest.self, from: jsonData) + let decodeResult = OpenAPIClient.shared.codableHelper.decode(DateTest.self, from: jsonData) _ = try decodeResult.get() var dateComponents = DateComponents() @@ -100,7 +100,7 @@ class DateFormatTests: XCTestCase { } let dateTest = DateTest(date: date) - let encodeResult = CodableHelper.shared.encode(dateTest) + let encodeResult = OpenAPIClient.shared.codableHelper.encode(dateTest) let data = try encodeResult.get() guard let jsonString = String(data: data, encoding: .utf8) else { XCTFail("Unable to convert encoded data to string.") diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs.swift index 1158f877b4a..d76cc433f00 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -10,49 +10,74 @@ import FoundationNetworking #endif import Alamofire -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = AlamofireRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range /// ResponseSerializer that will be used by the generator for `Data` responses /// /// If unchanged, Alamofires default `DataResponseSerializer` will be used. - public var dataResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(DataResponseSerializer()) + public var dataResponseSerializer: AnyResponseSerializer /// ResponseSerializer that will be used by the generator for `String` responses /// /// If unchanged, Alamofires default `StringResponseSerializer` will be used. - public var stringResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(StringResponseSerializer()) + public var stringResponseSerializer: AnyResponseSerializer + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = AlamofireRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300, + dataResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(DataResponseSerializer()), + stringResponseSerializer: AnyResponseSerializer = AnyResponseSerializer(StringResponseSerializer()) + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + self.dataResponseSerializer = dataResponseSerializer + self.stringResponseSerializer = stringResponseSerializer + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -62,7 +87,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -109,7 +134,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 880b2fa96b2..bf3aae3f1ce 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -16,7 +16,10 @@ import AnyCodable #endif open class AnotherFakeAPI { - public init() {} + public let openAPIClient: OpenAPIClient + public init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } /** To test special tags @@ -24,7 +27,7 @@ open class AnotherFakeAPI { - parameter body: (body) client model - returns: Promise */ - open func call123testSpecialTags( body: Client) -> Promise { + open func call123testSpecialTags(body: Client) -> Promise { let deferred = Promise.pending() call123testSpecialTagsWithRequestBuilder(body: body).execute { result in switch result { @@ -41,12 +44,11 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func call123testSpecialTags(body: Client) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.call123testSpecialTagsWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -108,12 +110,11 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func call123testSpecialTags(body: Client, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return call123testSpecialTagsWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -128,12 +129,13 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + - returns: RequestBuilder */ open func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -143,8 +145,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index e95d6b83054..8c579c245e8 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -16,14 +16,17 @@ import AnyCodable #endif open class FakeAPI { - public init() {} + public let openAPIClient: OpenAPIClient + public init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } /** - parameter body: (body) Input boolean as post body (optional) - returns: Promise */ - open func fakeOuterBooleanSerialize( body: Bool? = nil) -> Promise { + open func fakeOuterBooleanSerialize(body: Bool? = nil) -> Promise { let deferred = Promise.pending() fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute { result in switch result { @@ -39,12 +42,11 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func fakeOuterBooleanSerialize(body: Bool? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -103,12 +105,11 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func fakeOuterBooleanSerialize(body: Bool? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -122,12 +123,13 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + - returns: RequestBuilder */ open func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -137,9 +139,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -147,7 +149,7 @@ open class FakeAPI { - parameter body: (body) Input composite as post body (optional) - returns: Promise */ - open func fakeOuterCompositeSerialize( body: OuterComposite? = nil) -> Promise { + open func fakeOuterCompositeSerialize(body: OuterComposite? = nil) -> Promise { let deferred = Promise.pending() fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute { result in switch result { @@ -163,12 +165,11 @@ open class FakeAPI { /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func fakeOuterCompositeSerialize(body: OuterComposite? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -227,12 +228,11 @@ open class FakeAPI { /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func fakeOuterCompositeSerialize(body: OuterComposite? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -246,12 +246,13 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + - returns: RequestBuilder */ open func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -261,9 +262,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -271,7 +272,7 @@ open class FakeAPI { - parameter body: (body) Input number as post body (optional) - returns: Promise */ - open func fakeOuterNumberSerialize( body: Double? = nil) -> Promise { + open func fakeOuterNumberSerialize(body: Double? = nil) -> Promise { let deferred = Promise.pending() fakeOuterNumberSerializeWithRequestBuilder(body: body).execute { result in switch result { @@ -287,12 +288,11 @@ open class FakeAPI { /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func fakeOuterNumberSerialize(body: Double? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterNumberSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -351,12 +351,11 @@ open class FakeAPI { /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func fakeOuterNumberSerialize(body: Double? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -370,12 +369,13 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + - returns: RequestBuilder */ open func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -385,9 +385,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -395,7 +395,7 @@ open class FakeAPI { - parameter body: (body) Input string as post body (optional) - returns: Promise */ - open func fakeOuterStringSerialize( body: String? = nil) -> Promise { + open func fakeOuterStringSerialize(body: String? = nil) -> Promise { let deferred = Promise.pending() fakeOuterStringSerializeWithRequestBuilder(body: body).execute { result in switch result { @@ -411,12 +411,11 @@ open class FakeAPI { /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func fakeOuterStringSerialize(body: String? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterStringSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -475,12 +474,11 @@ open class FakeAPI { /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func fakeOuterStringSerialize(body: String? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterStringSerializeWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -494,12 +492,13 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + - returns: RequestBuilder */ open func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -509,9 +508,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -519,7 +518,7 @@ open class FakeAPI { - parameter body: (body) - returns: Promise */ - open func testBodyWithFileSchema( body: FileSchemaTestClass) -> Promise { + open func testBodyWithFileSchema(body: FileSchemaTestClass) -> Promise { let deferred = Promise.pending() testBodyWithFileSchemaWithRequestBuilder(body: body).execute { result in switch result { @@ -535,12 +534,11 @@ open class FakeAPI { /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testBodyWithFileSchema(body: FileSchemaTestClass) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.testBodyWithFileSchemaWithRequestBuilder(body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -599,12 +597,11 @@ open class FakeAPI { /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func testBodyWithFileSchema(body: FileSchemaTestClass, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testBodyWithFileSchemaWithRequestBuilder(body: body).execute { result in switch result { case .success: completion(.success(())) @@ -618,12 +615,13 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + - returns: RequestBuilder */ open func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -633,9 +631,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -644,7 +642,7 @@ open class FakeAPI { - parameter body: (body) - returns: Promise */ - open func testBodyWithQueryParams( query: String, body: User) -> Promise { + open func testBodyWithQueryParams(query: String, body: User) -> Promise { let deferred = Promise.pending() testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute { result in switch result { @@ -661,12 +659,11 @@ open class FakeAPI { - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testBodyWithQueryParams(query: String, body: User) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + let requestTask = self.testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -728,12 +725,11 @@ open class FakeAPI { - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + open func testBodyWithQueryParams(query: String, body: User, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute { result in switch result { case .success: completion(.success(())) @@ -746,17 +742,18 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + - returns: RequestBuilder */ open func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -765,9 +762,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -776,7 +773,7 @@ open class FakeAPI { - parameter body: (body) client model - returns: Promise */ - open func testClientModel( body: Client) -> Promise { + open func testClientModel(body: Client) -> Promise { let deferred = Promise.pending() testClientModelWithRequestBuilder(body: body).execute { result in switch result { @@ -793,12 +790,11 @@ open class FakeAPI { To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testClientModel(body: Client) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.testClientModelWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -860,12 +856,11 @@ open class FakeAPI { To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func testClientModel(body: Client, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testClientModelWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -880,12 +875,13 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + - returns: RequestBuilder */ open func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -895,9 +891,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -919,7 +915,7 @@ open class FakeAPI { - parameter callback: (form) None (optional) - returns: Promise */ - open func testEndpointParameters( number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Promise { + open func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Promise { let deferred = Promise.pending() testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { result in switch result { @@ -949,12 +945,11 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + let requestTask = self.testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { result in switch result { case .success: observer.onNext(()) @@ -1055,12 +1050,11 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + open func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { result in switch result { case .success: completion(.success(())) @@ -1078,39 +1072,40 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + - returns: RequestBuilder */ open func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -1124,9 +1119,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -1209,7 +1204,7 @@ open class FakeAPI { - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - returns: Promise */ - open func testEnumParameters( enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> Promise { + open func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> Promise { let deferred = Promise.pending() testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute { result in switch result { @@ -1233,12 +1228,11 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + let requestTask = self.testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute { result in switch result { case .success: observer.onNext(()) @@ -1321,12 +1315,11 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + open func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute { result in switch result { case .success: completion(.success(())) @@ -1341,21 +1334,22 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - returns: RequestBuilder */ open func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -1363,23 +1357,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -1393,7 +1387,7 @@ open class FakeAPI { - parameter int64Group: (query) Integer in group parameters (optional) - returns: Promise */ - open func testGroupParameters( requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> Promise { + open func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> Promise { let deferred = Promise.pending() testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute { result in switch result { @@ -1415,12 +1409,11 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + let requestTask = self.testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute { result in switch result { case .success: observer.onNext(()) @@ -1497,12 +1490,11 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + open func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute { result in switch result { case .success: completion(.success(())) @@ -1517,36 +1509,37 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + - returns: RequestBuilder */ open func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -1555,7 +1548,7 @@ open class FakeAPI { - parameter param: (body) request body - returns: Promise */ - open func testInlineAdditionalProperties( param: [String: String]) -> Promise { + open func testInlineAdditionalProperties(param: [String: String]) -> Promise { let deferred = Promise.pending() testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute { result in switch result { @@ -1572,12 +1565,11 @@ open class FakeAPI { test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testInlineAdditionalProperties(param: [String: String]) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + let requestTask = self.testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute { result in switch result { case .success: observer.onNext(()) @@ -1639,12 +1631,11 @@ open class FakeAPI { test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + open func testInlineAdditionalProperties(param: [String: String], completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute { result in switch result { case .success: completion(.success(())) @@ -1658,12 +1649,13 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + - returns: RequestBuilder */ open func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -1673,9 +1665,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -1685,7 +1677,7 @@ open class FakeAPI { - parameter param2: (form) field2 - returns: Promise */ - open func testJsonFormData( param: String, param2: String) -> Promise { + open func testJsonFormData(param: String, param2: String) -> Promise { let deferred = Promise.pending() testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute { result in switch result { @@ -1703,12 +1695,11 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testJsonFormData(param: String, param2: String) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + let requestTask = self.testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute { result in switch result { case .success: observer.onNext(()) @@ -1773,12 +1764,11 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + open func testJsonFormData(param: String, param2: String, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute { result in switch result { case .success: completion(.success(())) @@ -1792,15 +1782,16 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + - returns: RequestBuilder */ open func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -1814,8 +1805,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 67d3db02d50..ef974781d7b 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -16,7 +16,10 @@ import AnyCodable #endif open class FakeClassnameTags123API { - public init() {} + public let openAPIClient: OpenAPIClient + public init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } /** To test class name in snake case @@ -24,7 +27,7 @@ open class FakeClassnameTags123API { - parameter body: (body) client model - returns: Promise */ - open func testClassname( body: Client) -> Promise { + open func testClassname(body: Client) -> Promise { let deferred = Promise.pending() testClassnameWithRequestBuilder(body: body).execute { result in switch result { @@ -41,12 +44,11 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func testClassname(body: Client) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.testClassnameWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -108,12 +110,11 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func testClassname(body: Client, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testClassnameWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -131,12 +132,13 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + - returns: RequestBuilder */ open func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -146,8 +148,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 92be3881ac5..cc37095a7e0 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -16,7 +16,10 @@ import AnyCodable #endif open class PetAPI { - public init() {} + public let openAPIClient: OpenAPIClient + public init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } /** Add a new pet to the store @@ -24,7 +27,7 @@ open class PetAPI { - parameter body: (body) Pet object that needs to be added to the store - returns: Promise */ - open func addPet( body: Pet) -> Promise { + open func addPet(body: Pet) -> Promise { let deferred = Promise.pending() addPetWithRequestBuilder(body: body).execute { result in switch result { @@ -41,12 +44,11 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func addPet(body: Pet) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.addPetWithRequestBuilder(body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -108,12 +110,11 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func addPet(body: Pet, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return addPetWithRequestBuilder(body: body).execute { result in switch result { case .success: completion(.success(())) @@ -133,12 +134,13 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + - returns: RequestBuilder */ open func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -148,9 +150,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -160,7 +162,7 @@ open class PetAPI { - parameter apiKey: (header) (optional) - returns: Promise */ - open func deletePet( petId: Int64, apiKey: String? = nil) -> Promise { + open func deletePet(petId: Int64, apiKey: String? = nil) -> Promise { let deferred = Promise.pending() deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute { result in switch result { @@ -178,12 +180,11 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func deletePet(petId: Int64, apiKey: String? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + let requestTask = self.deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute { result in switch result { case .success: observer.onNext(()) @@ -248,12 +249,11 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + open func deletePet(petId: Int64, apiKey: String? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute { result in switch result { case .success: completion(.success(())) @@ -270,7 +270,8 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + - returns: RequestBuilder */ open func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { @@ -278,20 +279,20 @@ open class PetAPI { let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -309,7 +310,7 @@ open class PetAPI { - parameter status: (query) Status values that need to be considered for filter - returns: Promise<[Pet]> */ - open func findPetsByStatus( status: [Status_findPetsByStatus]) -> Promise<[Pet]> { + open func findPetsByStatus(status: [Status_findPetsByStatus]) -> Promise<[Pet]> { let deferred = Promise<[Pet]>.pending() findPetsByStatusWithRequestBuilder(status: status).execute { result in switch result { @@ -326,12 +327,11 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable<[Pet]> */ - open func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable<[Pet]> { + open func findPetsByStatus(status: [Status_findPetsByStatus]) -> Observable<[Pet]> { return Observable.create { observer -> Disposable in - let requestTask = self.findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + let requestTask = self.findPetsByStatusWithRequestBuilder(status: status).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -393,12 +393,11 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { - return findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + open func findPetsByStatus(status: [Status_findPetsByStatus], completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { + return findPetsByStatusWithRequestBuilder(status: status).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -416,16 +415,17 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + - returns: RequestBuilder<[Pet]> */ open func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -434,9 +434,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -446,7 +446,7 @@ open class PetAPI { - returns: Promise<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open func findPetsByTags( tags: [String]) -> Promise<[Pet]> { + open func findPetsByTags(tags: [String]) -> Promise<[Pet]> { let deferred = Promise<[Pet]>.pending() findPetsByTagsWithRequestBuilder(tags: tags).execute { result in switch result { @@ -463,13 +463,12 @@ open class PetAPI { Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable<[Pet]> { + open func findPetsByTags(tags: [String]) -> Observable<[Pet]> { return Observable.create { observer -> Disposable in - let requestTask = self.findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + let requestTask = self.findPetsByTagsWithRequestBuilder(tags: tags).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -533,13 +532,12 @@ open class PetAPI { Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @available(*, deprecated, message: "This operation is deprecated.") @discardableResult - open func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { - return findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + open func findPetsByTags(tags: [String], completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { + return findPetsByTagsWithRequestBuilder(tags: tags).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -557,17 +555,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") open func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -576,9 +575,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -587,7 +586,7 @@ open class PetAPI { - parameter petId: (path) ID of pet to return - returns: Promise */ - open func getPetById( petId: Int64) -> Promise { + open func getPetById(petId: Int64) -> Promise { let deferred = Promise.pending() getPetByIdWithRequestBuilder(petId: petId).execute { result in switch result { @@ -604,12 +603,11 @@ open class PetAPI { Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func getPetById(petId: Int64) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + let requestTask = self.getPetByIdWithRequestBuilder(petId: petId).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -671,12 +669,11 @@ open class PetAPI { Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + open func getPetById(petId: Int64, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return getPetByIdWithRequestBuilder(petId: petId).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -694,6 +691,7 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + - returns: RequestBuilder */ open func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { @@ -701,7 +699,7 @@ open class PetAPI { let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -712,9 +710,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -723,7 +721,7 @@ open class PetAPI { - parameter body: (body) Pet object that needs to be added to the store - returns: Promise */ - open func updatePet( body: Pet) -> Promise { + open func updatePet(body: Pet) -> Promise { let deferred = Promise.pending() updatePetWithRequestBuilder(body: body).execute { result in switch result { @@ -740,12 +738,11 @@ open class PetAPI { Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func updatePet(body: Pet) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.updatePetWithRequestBuilder(body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -807,12 +804,11 @@ open class PetAPI { Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func updatePet(body: Pet, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return updatePetWithRequestBuilder(body: body).execute { result in switch result { case .success: completion(.success(())) @@ -829,12 +825,13 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + - returns: RequestBuilder */ open func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -844,9 +841,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -857,7 +854,7 @@ open class PetAPI { - parameter status: (form) Updated status of the pet (optional) - returns: Promise */ - open func updatePetWithForm( petId: Int64, name: String? = nil, status: String? = nil) -> Promise { + open func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) -> Promise { let deferred = Promise.pending() updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { result in switch result { @@ -876,12 +873,11 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + let requestTask = self.updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { result in switch result { case .success: observer.onNext(()) @@ -949,12 +945,11 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + open func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { result in switch result { case .success: completion(.success(())) @@ -971,8 +966,9 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + - returns: RequestBuilder */ open func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { @@ -980,10 +976,10 @@ open class PetAPI { let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -997,9 +993,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -1010,7 +1006,7 @@ open class PetAPI { - parameter file: (form) file to upload (optional) - returns: Promise */ - open func uploadFile( petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> Promise { + open func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> Promise { let deferred = Promise.pending() uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { result in switch result { @@ -1029,12 +1025,11 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + let requestTask = self.uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -1102,12 +1097,11 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + open func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -1124,8 +1118,9 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + - returns: RequestBuilder */ open func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { @@ -1133,10 +1128,10 @@ open class PetAPI { let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -1150,9 +1145,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -1163,7 +1158,7 @@ open class PetAPI { - parameter additionalMetadata: (form) Additional data to pass to server (optional) - returns: Promise */ - open func uploadFileWithRequiredFile( petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> Promise { + open func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> Promise { let deferred = Promise.pending() uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute { result in switch result { @@ -1182,12 +1177,11 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + let requestTask = self.uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -1255,12 +1249,11 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + open func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -1277,8 +1270,9 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - returns: RequestBuilder */ open func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { @@ -1286,10 +1280,10 @@ open class PetAPI { let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -1303,8 +1297,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 772ee2ad775..0cd5d40070b 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -16,7 +16,10 @@ import AnyCodable #endif open class StoreAPI { - public init() {} + public let openAPIClient: OpenAPIClient + public init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } /** Delete purchase order by ID @@ -24,7 +27,7 @@ open class StoreAPI { - parameter orderId: (path) ID of the order that needs to be deleted - returns: Promise */ - open func deleteOrder( orderId: String) -> Promise { + open func deleteOrder(orderId: String) -> Promise { let deferred = Promise.pending() deleteOrderWithRequestBuilder(orderId: orderId).execute { result in switch result { @@ -41,12 +44,11 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func deleteOrder(orderId: String) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + let requestTask = self.deleteOrderWithRequestBuilder(orderId: orderId).execute { result in switch result { case .success: observer.onNext(()) @@ -108,12 +110,11 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open func deleteOrder(orderId: String, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return deleteOrderWithRequestBuilder(orderId: orderId).execute { result in switch result { case .success: completion(.success(())) @@ -128,6 +129,7 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + - returns: RequestBuilder */ open func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { @@ -135,7 +137,7 @@ open class StoreAPI { let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -146,9 +148,9 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -172,12 +174,11 @@ open class StoreAPI { /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable<[String: Int]> */ - open func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable<[String: Int]> { + open func getInventory() -> Observable<[String: Int]> { return Observable.create { observer -> Disposable in - let requestTask = self.getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + let requestTask = self.getInventoryWithRequestBuilder().execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -236,12 +237,11 @@ open class StoreAPI { /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<[String: Int], ErrorResponse>) -> Void) -> RequestTask { - return getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + open func getInventory(completion: @Sendable @escaping (_ result: Swift.Result<[String: Int], ErrorResponse>) -> Void) -> RequestTask { + return getInventoryWithRequestBuilder().execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -258,11 +258,12 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + - returns: RequestBuilder<[String: Int]> */ open func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -273,9 +274,9 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -284,7 +285,7 @@ open class StoreAPI { - parameter orderId: (path) ID of pet that needs to be fetched - returns: Promise */ - open func getOrderById( orderId: Int64) -> Promise { + open func getOrderById(orderId: Int64) -> Promise { let deferred = Promise.pending() getOrderByIdWithRequestBuilder(orderId: orderId).execute { result in switch result { @@ -301,12 +302,11 @@ open class StoreAPI { Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func getOrderById(orderId: Int64) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + let requestTask = self.getOrderByIdWithRequestBuilder(orderId: orderId).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -368,12 +368,11 @@ open class StoreAPI { Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open func getOrderById(orderId: Int64, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return getOrderByIdWithRequestBuilder(orderId: orderId).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -388,6 +387,7 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + - returns: RequestBuilder */ open func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { @@ -395,7 +395,7 @@ open class StoreAPI { let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -406,9 +406,9 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -417,7 +417,7 @@ open class StoreAPI { - parameter body: (body) order placed for purchasing the pet - returns: Promise */ - open func placeOrder( body: Order) -> Promise { + open func placeOrder(body: Order) -> Promise { let deferred = Promise.pending() placeOrderWithRequestBuilder(body: body).execute { result in switch result { @@ -434,12 +434,11 @@ open class StoreAPI { Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func placeOrder(body: Order) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.placeOrderWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -501,12 +500,11 @@ open class StoreAPI { Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func placeOrder(body: Order, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return placeOrderWithRequestBuilder(body: body).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -520,12 +518,13 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + - returns: RequestBuilder */ open func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -535,8 +534,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index fe72e4e2554..728cb9cb90a 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -16,7 +16,10 @@ import AnyCodable #endif open class UserAPI { - public init() {} + public let openAPIClient: OpenAPIClient + public init(openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + self.openAPIClient = openAPIClient + } /** Create user @@ -24,7 +27,7 @@ open class UserAPI { - parameter body: (body) Created user object - returns: Promise */ - open func createUser( body: User) -> Promise { + open func createUser(body: User) -> Promise { let deferred = Promise.pending() createUserWithRequestBuilder(body: body).execute { result in switch result { @@ -41,12 +44,11 @@ open class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func createUser(body: User) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.createUserWithRequestBuilder(body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -108,12 +110,11 @@ open class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func createUser(body: User, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return createUserWithRequestBuilder(body: body).execute { result in switch result { case .success: completion(.success(())) @@ -128,12 +129,13 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + - returns: RequestBuilder */ open func createUserWithRequestBuilder(body: User) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -143,9 +145,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -154,7 +156,7 @@ open class UserAPI { - parameter body: (body) List of user object - returns: Promise */ - open func createUsersWithArrayInput( body: [User]) -> Promise { + open func createUsersWithArrayInput(body: [User]) -> Promise { let deferred = Promise.pending() createUsersWithArrayInputWithRequestBuilder(body: body).execute { result in switch result { @@ -171,12 +173,11 @@ open class UserAPI { Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func createUsersWithArrayInput(body: [User]) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.createUsersWithArrayInputWithRequestBuilder(body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -238,12 +239,11 @@ open class UserAPI { Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func createUsersWithArrayInput(body: [User], completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return createUsersWithArrayInputWithRequestBuilder(body: body).execute { result in switch result { case .success: completion(.success(())) @@ -257,12 +257,13 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + - returns: RequestBuilder */ open func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -272,9 +273,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -283,7 +284,7 @@ open class UserAPI { - parameter body: (body) List of user object - returns: Promise */ - open func createUsersWithListInput( body: [User]) -> Promise { + open func createUsersWithListInput(body: [User]) -> Promise { let deferred = Promise.pending() createUsersWithListInputWithRequestBuilder(body: body).execute { result in switch result { @@ -300,12 +301,11 @@ open class UserAPI { Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func createUsersWithListInput(body: [User]) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.createUsersWithListInputWithRequestBuilder(body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -367,12 +367,11 @@ open class UserAPI { Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open func createUsersWithListInput(body: [User], completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return createUsersWithListInputWithRequestBuilder(body: body).execute { result in switch result { case .success: completion(.success(())) @@ -386,12 +385,13 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + - returns: RequestBuilder */ open func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -401,9 +401,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -412,7 +412,7 @@ open class UserAPI { - parameter username: (path) The name that needs to be deleted - returns: Promise */ - open func deleteUser( username: String) -> Promise { + open func deleteUser(username: String) -> Promise { let deferred = Promise.pending() deleteUserWithRequestBuilder(username: username).execute { result in switch result { @@ -429,12 +429,11 @@ open class UserAPI { Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func deleteUser(username: String) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + let requestTask = self.deleteUserWithRequestBuilder(username: username).execute { result in switch result { case .success: observer.onNext(()) @@ -496,12 +495,11 @@ open class UserAPI { Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open func deleteUser(username: String, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return deleteUserWithRequestBuilder(username: username).execute { result in switch result { case .success: completion(.success(())) @@ -516,6 +514,7 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + - returns: RequestBuilder */ open func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { @@ -523,7 +522,7 @@ open class UserAPI { let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -534,9 +533,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -545,7 +544,7 @@ open class UserAPI { - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - returns: Promise */ - open func getUserByName( username: String) -> Promise { + open func getUserByName(username: String) -> Promise { let deferred = Promise.pending() getUserByNameWithRequestBuilder(username: username).execute { result in switch result { @@ -562,12 +561,11 @@ open class UserAPI { Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func getUserByName(username: String) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + let requestTask = self.getUserByNameWithRequestBuilder(username: username).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -629,12 +627,11 @@ open class UserAPI { Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open func getUserByName(username: String, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return getUserByNameWithRequestBuilder(username: username).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -648,6 +645,7 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + - returns: RequestBuilder */ open func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { @@ -655,7 +653,7 @@ open class UserAPI { let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -666,9 +664,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -678,7 +676,7 @@ open class UserAPI { - parameter password: (query) The password for login in clear text - returns: Promise */ - open func loginUser( username: String, password: String) -> Promise { + open func loginUser(username: String, password: String) -> Promise { let deferred = Promise.pending() loginUserWithRequestBuilder(username: username, password: password).execute { result in switch result { @@ -696,12 +694,11 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func loginUser(username: String, password: String) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + let requestTask = self.loginUserWithRequestBuilder(username: username, password: password).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -766,12 +763,11 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + open func loginUser(username: String, password: String, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return loginUserWithRequestBuilder(username: username, password: password).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -786,18 +782,19 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + - returns: RequestBuilder */ open func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -806,9 +803,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -832,12 +829,11 @@ open class UserAPI { /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func logoutUser() -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + let requestTask = self.logoutUserWithRequestBuilder().execute { result in switch result { case .success: observer.onNext(()) @@ -896,12 +892,11 @@ open class UserAPI { /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + open func logoutUser(completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return logoutUserWithRequestBuilder().execute { result in switch result { case .success: completion(.success(())) @@ -914,11 +909,12 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + - returns: RequestBuilder */ open func logoutUserWithRequestBuilder() -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -929,9 +925,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -941,7 +937,7 @@ open class UserAPI { - parameter body: (body) Updated user object - returns: Promise */ - open func updateUser( username: String, body: User) -> Promise { + open func updateUser(username: String, body: User) -> Promise { let deferred = Promise.pending() updateUserWithRequestBuilder(username: username, body: body).execute { result in switch result { @@ -959,12 +955,11 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - returns: Observable */ - open func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open func updateUser(username: String, body: User) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + let requestTask = self.updateUserWithRequestBuilder(username: username, body: body).execute { result in switch result { case .success: observer.onNext(()) @@ -1029,12 +1024,11 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the result */ @discardableResult - open func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + open func updateUser(username: String, body: User, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return updateUserWithRequestBuilder(username: username, body: body).execute { result in switch result { case .success: completion(.success(())) @@ -1049,7 +1043,8 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + - returns: RequestBuilder */ open func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { @@ -1057,8 +1052,8 @@ open class UserAPI { let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -1068,8 +1063,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift index a597437ab5a..5d91754cf45 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift @@ -7,12 +7,14 @@ import Foundation import Alamofire -class AlamofireRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class AlamofireRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return AlamofireRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return AlamofireDecodableRequestBuilder.self } } @@ -26,8 +28,8 @@ fileprivate class AlamofireRequestBuilderConfiguration: @unchecked Sendable { } open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -84,7 +86,7 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let managerId = UUID().uuidString // Create a new manager for each request to customize its request header let manager = createAlamofireSession() @@ -138,7 +140,7 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { requestTask.set(request: upload) - self.processRequest(request: upload, managerId, apiResponseQueue, completion) + self.processRequest(request: upload, managerId: managerId, completion: completion) } else if contentType.hasPrefix("application/x-www-form-urlencoded") { encoding = URLEncoding(destination: .httpBody) } else { @@ -154,14 +156,14 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { if let onProgressReady = self.onProgressReady { onProgressReady(request.uploadProgress) } - processRequest(request: request, managerId, apiResponseQueue, completion) + processRequest(request: request, managerId: managerId, completion: completion) requestTask.set(request: request) } return requestTask } - fileprivate func processRequest(request: DataRequest, _ managerId: String, _ apiResponseQueue: DispatchQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { + fileprivate func processRequest(request: DataRequest, managerId: String, completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { if let credential = self.credential { request.authenticate(with: credential) } @@ -170,12 +172,12 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { AlamofireRequestBuilderConfiguration.shared.managerStore[managerId] = nil } - let validatedRequest = request.validate(statusCode: PetstoreClientAPI.shared.successfulStatusCodeRange) + let validatedRequest = request.validate(statusCode: openAPIClient.successfulStatusCodeRange) switch T.self { case is Void.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { voidResponse in cleanupRequest() @@ -255,7 +257,7 @@ open class AlamofireRequestBuilder: RequestBuilder, @unchecked Sendable { open class AlamofireDecodableRequestBuilder: AlamofireRequestBuilder, @unchecked Sendable { - override fileprivate func processRequest(request: DataRequest, _ managerId: String, _ apiResponseQueue: DispatchQueue, _ completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { + override fileprivate func processRequest(request: DataRequest, managerId: String, completion: @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) { if let credential = self.credential { request.authenticate(with: credential) } @@ -264,12 +266,12 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild AlamofireRequestBuilderConfiguration.shared.managerStore[managerId] = nil } - let validatedRequest = request.validate(statusCode: PetstoreClientAPI.shared.successfulStatusCodeRange) + let validatedRequest = request.validate(statusCode: openAPIClient.successfulStatusCodeRange) switch T.self { case is String.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.stringResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.stringResponseSerializer, completionHandler: { stringResponse in cleanupRequest() @@ -282,8 +284,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild }) case is URL.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -330,8 +332,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild return }) case is Void.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { voidResponse in cleanupRequest() @@ -344,8 +346,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild }) case is Data.Type: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -358,8 +360,8 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild }) default: - validatedRequest.response(queue: apiResponseQueue, - responseSerializer: PetstoreClientAPI.shared.dataResponseSerializer, + validatedRequest.response(queue: openAPIClient.apiResponseQueue, + responseSerializer: openAPIClient.dataResponseSerializer, completionHandler: { dataResponse in cleanupRequest() @@ -382,7 +384,7 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = self.openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Extensions.swift index 7f43388ef48..200d84ae5ba 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -14,97 +14,97 @@ import AnyCodable @preconcurrency import PromiseKit extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -230,12 +230,6 @@ extension KeyedDecodingContainerProtocol { } -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} - extension RequestBuilder { public func execute() -> Promise> { let deferred = Promise>.pending() diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Models.swift index 59e4c641f8b..f73274e5ac9 100644 --- a/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/apiNonStaticMethod/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -11,7 +11,7 @@ import FoundationNetworking import Alamofire protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index 88dc3a3bd3d..524abb44ea0 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -100,7 +121,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 2efdd2b8129..f75934d2cf0 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -16,11 +16,12 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Client */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func call123testSpecialTags(body: Client) async throws(ErrorResponse) -> Client { - return try await call123testSpecialTagsWithRequestBuilder(body: body).execute().body + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Client { + return try await call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** @@ -28,12 +29,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -43,8 +46,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index b3901ff13a5..e2d73d47cff 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -15,23 +15,26 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Bool */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterBooleanSerialize(body: Bool? = nil) async throws(ErrorResponse) -> Bool { - return try await fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute().body + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Bool { + return try await fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -41,31 +44,34 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: OuterComposite */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil) async throws(ErrorResponse) -> OuterComposite { - return try await fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute().body + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> OuterComposite { + return try await fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -75,31 +81,34 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Double */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterNumberSerialize(body: Double? = nil) async throws(ErrorResponse) -> Double { - return try await fakeOuterNumberSerializeWithRequestBuilder(body: body).execute().body + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Double { + return try await fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -109,31 +118,34 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: String */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterStringSerialize(body: String? = nil) async throws(ErrorResponse) -> String { - return try await fakeOuterStringSerializeWithRequestBuilder(body: body).execute().body + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> String { + return try await fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -143,31 +155,34 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testBodyWithFileSchema(body: FileSchemaTestClass) async throws(ErrorResponse) { - return try await testBodyWithFileSchemaWithRequestBuilder(body: body).execute().body + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -177,36 +192,39 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testBodyWithQueryParams(query: String, body: User) async throws(ErrorResponse) { - return try await testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute().body + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute().body } /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -215,20 +233,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Client */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testClientModel(body: Client) async throws(ErrorResponse) -> Client { - return try await testClientModelWithRequestBuilder(body: body).execute().body + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Client { + return try await testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** @@ -236,12 +255,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -251,9 +272,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -273,11 +294,12 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) async throws(ErrorResponse) { - return try await testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute().body + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute().body } /** @@ -288,39 +310,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -334,9 +358,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -417,11 +441,12 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) async throws(ErrorResponse) { - return try await testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute().body + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute().body } /** @@ -429,21 +454,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -451,23 +478,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -479,11 +506,12 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) async throws(ErrorResponse) { - return try await testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute().body + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute().body } /** @@ -491,59 +519,64 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testInlineAdditionalProperties(param: [String: String]) async throws(ErrorResponse) { - return try await testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute().body + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute().body } /** test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -553,9 +586,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -563,26 +596,29 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testJsonFormData(param: String, param2: String) async throws(ErrorResponse) { - return try await testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute().body + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute().body } /** test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -596,8 +632,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index f60156b79d6..4f69142ed86 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -16,11 +16,12 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Client */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testClassname(body: Client) async throws(ErrorResponse) -> Client { - return try await testClassnameWithRequestBuilder(body: body).execute().body + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Client { + return try await testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** @@ -31,12 +32,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -46,8 +49,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index e3a221f0ad2..16d2f32cf17 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -16,11 +16,12 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func addPet(body: Pet) async throws(ErrorResponse) { - return try await addPetWithRequestBuilder(body: body).execute().body + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** @@ -33,12 +34,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -48,9 +51,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -58,11 +61,12 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deletePet(petId: Int64, apiKey: String? = nil) async throws(ErrorResponse) { - return try await deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute().body + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute().body } /** @@ -72,28 +76,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -109,11 +115,12 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: [Pet] */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func findPetsByStatus(status: [Status_findPetsByStatus]) async throws(ErrorResponse) -> [Pet] { - return try await findPetsByStatusWithRequestBuilder(status: status).execute().body + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> [Pet] { + return try await findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute().body } /** @@ -124,16 +131,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -142,21 +151,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: [Pet] */ @available(*, deprecated, message: "This operation is deprecated.") @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func findPetsByTags(tags: [String]) async throws(ErrorResponse) -> [Pet] { - return try await findPetsByTagsWithRequestBuilder(tags: tags).execute().body + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> [Pet] { + return try await findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute().body } /** @@ -167,17 +177,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -186,20 +198,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Pet */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getPetById(petId: Int64) async throws(ErrorResponse) -> Pet { - return try await getPetByIdWithRequestBuilder(petId: petId).execute().body + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Pet { + return try await getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute().body } /** @@ -210,14 +223,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -228,20 +243,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updatePet(body: Pet) async throws(ErrorResponse) { - return try await updatePetWithRequestBuilder(body: body).execute().body + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** @@ -251,12 +267,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -266,9 +284,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -277,11 +295,12 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) async throws(ErrorResponse) { - return try await updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute().body + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute().body } /** @@ -291,19 +310,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -317,9 +338,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -328,11 +349,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: ApiResponse */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) async throws(ErrorResponse) -> ApiResponse { - return try await uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute().body + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> ApiResponse { + return try await uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute().body } /** @@ -342,19 +364,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -368,9 +392,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -379,11 +403,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: ApiResponse */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) async throws(ErrorResponse) -> ApiResponse { - return try await uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute().body + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> ApiResponse { + return try await uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute().body } /** @@ -393,19 +418,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -419,8 +446,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 04436cd2ceb..6098fb52701 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -16,11 +16,12 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deleteOrder(orderId: String) async throws(ErrorResponse) { - return try await deleteOrderWithRequestBuilder(orderId: orderId).execute().body + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute().body } /** @@ -28,14 +29,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -46,19 +49,20 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: [String: Int] */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getInventory() async throws(ErrorResponse) -> [String: Int] { - return try await getInventoryWithRequestBuilder().execute().body + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> [String: Int] { + return try await getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute().body } /** @@ -68,11 +72,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -83,20 +89,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Order */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getOrderById(orderId: Int64) async throws(ErrorResponse) -> Order { - return try await getOrderByIdWithRequestBuilder(orderId: orderId).execute().body + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Order { + return try await getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute().body } /** @@ -104,14 +111,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -122,32 +131,35 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Order */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func placeOrder(body: Order) async throws(ErrorResponse) -> Order { - return try await placeOrderWithRequestBuilder(body: body).execute().body + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> Order { + return try await placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -157,8 +169,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index 3953372fdda..14f1cfe43a1 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -16,11 +16,12 @@ open class UserAPI { Create user - parameter body: (body) Created user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUser(body: User) async throws(ErrorResponse) { - return try await createUserWithRequestBuilder(body: body).execute().body + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** @@ -28,12 +29,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -43,32 +46,35 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUsersWithArrayInput(body: [User]) async throws(ErrorResponse) { - return try await createUsersWithArrayInputWithRequestBuilder(body: body).execute().body + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -78,32 +84,35 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUsersWithListInput(body: [User]) async throws(ErrorResponse) { - return try await createUsersWithListInputWithRequestBuilder(body: body).execute().body + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute().body } /** Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -113,20 +122,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deleteUser(username: String) async throws(ErrorResponse) { - return try await deleteUserWithRequestBuilder(username: username).execute().body + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute().body } /** @@ -134,14 +144,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -152,34 +164,37 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: User */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getUserByName(username: String) async throws(ErrorResponse) -> User { - return try await getUserByNameWithRequestBuilder(username: username).execute().body + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> User { + return try await getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute().body } /** Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -190,9 +205,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -200,11 +215,12 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: String */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func loginUser(username: String, password: String) async throws(ErrorResponse) -> String { - return try await loginUserWithRequestBuilder(username: username, password: password).execute().body + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) -> String { + return try await loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute().body } /** @@ -212,18 +228,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -232,29 +250,32 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func logoutUser() async throws(ErrorResponse) { - return try await logoutUserWithRequestBuilder().execute().body + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute().body } /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -265,9 +286,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -275,11 +296,12 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Void */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updateUser(username: String, body: User) async throws(ErrorResponse) { - return try await updateUserWithRequestBuilder(username: username, body: body).execute().body + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) async throws(ErrorResponse) { + return try await updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute().body } /** @@ -287,16 +309,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -306,8 +330,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 571ded61cec..a3636556e56 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index fcef0a2d34b..0760b694e1e 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 89dfbeca591..39d2aa63610 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -19,12 +19,13 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func call123testSpecialTags(body: Client) -> AnyPublisher { - let requestBuilder = call123testSpecialTagsWithRequestBuilder(body: body) + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -51,12 +52,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -66,8 +69,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index c4c3125f6e3..95d4d2a34b5 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -18,12 +18,13 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterBooleanSerialize(body: Bool? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterBooleanSerializeWithRequestBuilder(body: body) + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -49,12 +50,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -64,20 +67,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterCompositeSerializeWithRequestBuilder(body: body) + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -103,12 +107,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -118,20 +124,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterNumberSerialize(body: Double? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterNumberSerializeWithRequestBuilder(body: body) + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -157,12 +164,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -172,20 +181,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterStringSerialize(body: String? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterStringSerializeWithRequestBuilder(body: body) + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -211,12 +221,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -226,20 +238,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testBodyWithFileSchema(body: FileSchemaTestClass) -> AnyPublisher { - let requestBuilder = testBodyWithFileSchemaWithRequestBuilder(body: body) + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -265,12 +278,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -280,21 +295,22 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testBodyWithQueryParams(query: String, body: User) -> AnyPublisher { - let requestBuilder = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body) + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -319,17 +335,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -338,21 +356,22 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testClientModel(body: Client) -> AnyPublisher { - let requestBuilder = testClientModelWithRequestBuilder(body: body) + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -379,12 +398,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -394,9 +415,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -416,12 +437,13 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> AnyPublisher { - let requestBuilder = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -451,39 +473,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -497,9 +521,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -580,12 +604,13 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> AnyPublisher { - let requestBuilder = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -612,21 +637,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -634,23 +661,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -662,12 +689,13 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> AnyPublisher { - let requestBuilder = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group) + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -694,48 +722,51 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testInlineAdditionalProperties(param: [String: String]) -> AnyPublisher { - let requestBuilder = testInlineAdditionalPropertiesWithRequestBuilder(param: param) + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -761,12 +792,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -776,9 +809,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -786,12 +819,13 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testJsonFormData(param: String, param2: String) -> AnyPublisher { - let requestBuilder = testJsonFormDataWithRequestBuilder(param: param, param2: param2) + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -817,15 +851,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -839,8 +875,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 317ceb2e78d..60d9c626179 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -19,12 +19,13 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testClassname(body: Client) -> AnyPublisher { - let requestBuilder = testClassnameWithRequestBuilder(body: body) + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -54,12 +55,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -69,8 +72,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 694b90b3fb4..fb1339400d3 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -19,12 +19,13 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func addPet(body: Pet) -> AnyPublisher { - let requestBuilder = addPetWithRequestBuilder(body: body) + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -56,12 +57,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -71,9 +74,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -81,12 +84,13 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deletePet(petId: Int64, apiKey: String? = nil) -> AnyPublisher { - let requestBuilder = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey) + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -115,28 +119,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -152,12 +158,13 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher<[Pet], Error> */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func findPetsByStatus(status: [Status_findPetsByStatus]) -> AnyPublisher<[Pet], Error> { - let requestBuilder = findPetsByStatusWithRequestBuilder(status: status) + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher<[Pet], Error> { + let requestBuilder = findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future<[Pet], Error> { promise in nonisolated(unsafe) let promise = promise @@ -187,16 +194,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -205,22 +214,23 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher<[Pet], Error> */ #if canImport(Combine) @available(*, deprecated, message: "This operation is deprecated.") @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func findPetsByTags(tags: [String]) -> AnyPublisher<[Pet], Error> { - let requestBuilder = findPetsByTagsWithRequestBuilder(tags: tags) + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher<[Pet], Error> { + let requestBuilder = findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future<[Pet], Error> { promise in nonisolated(unsafe) let promise = promise @@ -250,17 +260,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -269,21 +281,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getPetById(petId: Int64) -> AnyPublisher { - let requestBuilder = getPetByIdWithRequestBuilder(petId: petId) + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -313,14 +326,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -331,21 +346,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updatePet(body: Pet) -> AnyPublisher { - let requestBuilder = updatePetWithRequestBuilder(body: body) + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -374,12 +390,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -389,9 +407,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -400,12 +418,13 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) -> AnyPublisher { - let requestBuilder = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status) + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -434,19 +453,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -460,9 +481,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -471,12 +492,13 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> AnyPublisher { - let requestBuilder = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file) + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -505,19 +527,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -531,9 +555,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -542,12 +566,13 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> AnyPublisher { - let requestBuilder = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata) + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -576,19 +601,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -602,8 +629,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index cdfb0b2c291..e46f967176f 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -19,12 +19,13 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deleteOrder(orderId: String) -> AnyPublisher { - let requestBuilder = deleteOrderWithRequestBuilder(orderId: orderId) + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -51,14 +52,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -69,20 +72,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher<[String: Int], Error> */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getInventory() -> AnyPublisher<[String: Int], Error> { - let requestBuilder = getInventoryWithRequestBuilder() + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher<[String: Int], Error> { + let requestBuilder = getInventoryWithRequestBuilder(openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future<[String: Int], Error> { promise in nonisolated(unsafe) let promise = promise @@ -111,11 +115,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -126,21 +132,22 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getOrderById(orderId: Int64) -> AnyPublisher { - let requestBuilder = getOrderByIdWithRequestBuilder(orderId: orderId) + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -167,14 +174,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -185,21 +194,22 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func placeOrder(body: Order) -> AnyPublisher { - let requestBuilder = placeOrderWithRequestBuilder(body: body) + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -225,12 +235,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -240,8 +252,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index ec70e057e05..2e56c1580a2 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -19,12 +19,13 @@ open class UserAPI { Create user - parameter body: (body) Created user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUser(body: User) -> AnyPublisher { - let requestBuilder = createUserWithRequestBuilder(body: body) + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -51,12 +52,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -66,21 +69,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUsersWithArrayInput(body: [User]) -> AnyPublisher { - let requestBuilder = createUsersWithArrayInputWithRequestBuilder(body: body) + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -106,12 +110,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -121,21 +127,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUsersWithListInput(body: [User]) -> AnyPublisher { - let requestBuilder = createUsersWithListInputWithRequestBuilder(body: body) + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -161,12 +168,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -176,21 +185,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deleteUser(username: String) -> AnyPublisher { - let requestBuilder = deleteUserWithRequestBuilder(username: username) + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -217,14 +227,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -235,21 +247,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getUserByName(username: String) -> AnyPublisher { - let requestBuilder = getUserByNameWithRequestBuilder(username: username) + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -275,14 +288,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -293,9 +308,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -303,12 +318,13 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func loginUser(username: String, password: String) -> AnyPublisher { - let requestBuilder = loginUserWithRequestBuilder(username: username, password: password) + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -335,18 +351,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -355,20 +373,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func logoutUser() -> AnyPublisher { - let requestBuilder = logoutUserWithRequestBuilder() + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = logoutUserWithRequestBuilder(openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -393,11 +412,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -408,9 +429,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -418,12 +439,13 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updateUser(username: String, body: User) -> AnyPublisher { - let requestBuilder = updateUserWithRequestBuilder(username: username, body: body) + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Deferred { Future { promise in nonisolated(unsafe) let promise = promise @@ -450,16 +472,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -469,8 +493,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/combineDeferredLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index fcef0a2d34b..0760b694e1e 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index c04731cca82..b5e0ef44b64 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -19,12 +19,13 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func call123testSpecialTags(body: Client) -> AnyPublisher { - let requestBuilder = call123testSpecialTagsWithRequestBuilder(body: body) + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -49,12 +50,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -64,8 +67,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index fd11a2ea204..56478f2873b 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -18,12 +18,13 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterBooleanSerialize(body: Bool? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterBooleanSerializeWithRequestBuilder(body: body) + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -47,12 +48,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -62,20 +65,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterCompositeSerializeWithRequestBuilder(body: body) + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -99,12 +103,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -114,20 +120,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterNumberSerialize(body: Double? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterNumberSerializeWithRequestBuilder(body: body) + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -151,12 +158,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -166,20 +175,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func fakeOuterStringSerialize(body: String? = nil) -> AnyPublisher { - let requestBuilder = fakeOuterStringSerializeWithRequestBuilder(body: body) + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -203,12 +213,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -218,20 +230,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testBodyWithFileSchema(body: FileSchemaTestClass) -> AnyPublisher { - let requestBuilder = testBodyWithFileSchemaWithRequestBuilder(body: body) + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -255,12 +268,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -270,21 +285,22 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testBodyWithQueryParams(query: String, body: User) -> AnyPublisher { - let requestBuilder = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body) + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -307,17 +323,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -326,21 +344,22 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testClientModel(body: Client) -> AnyPublisher { - let requestBuilder = testClientModelWithRequestBuilder(body: body) + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -365,12 +384,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -380,9 +401,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -402,12 +423,13 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> AnyPublisher { - let requestBuilder = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -435,39 +457,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -481,9 +505,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -564,12 +588,13 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> AnyPublisher { - let requestBuilder = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -594,21 +619,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -616,23 +643,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -644,12 +671,13 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> AnyPublisher { - let requestBuilder = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group) + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -674,48 +702,51 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testInlineAdditionalProperties(param: [String: String]) -> AnyPublisher { - let requestBuilder = testInlineAdditionalPropertiesWithRequestBuilder(param: param) + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -739,12 +770,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -754,9 +787,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -764,12 +797,13 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testJsonFormData(param: String, param2: String) -> AnyPublisher { - let requestBuilder = testJsonFormDataWithRequestBuilder(param: param, param2: param2) + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -793,15 +827,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -815,8 +851,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 032cbfec5b7..5686a291b00 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -19,12 +19,13 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func testClassname(body: Client) -> AnyPublisher { - let requestBuilder = testClassnameWithRequestBuilder(body: body) + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -52,12 +53,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -67,8 +70,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index dbf6083105c..030a14db32c 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -19,12 +19,13 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func addPet(body: Pet) -> AnyPublisher { - let requestBuilder = addPetWithRequestBuilder(body: body) + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -54,12 +55,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -69,9 +72,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -79,12 +82,13 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deletePet(petId: Int64, apiKey: String? = nil) -> AnyPublisher { - let requestBuilder = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey) + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -111,28 +115,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -148,12 +154,13 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher<[Pet], Error> */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func findPetsByStatus(status: [Status_findPetsByStatus]) -> AnyPublisher<[Pet], Error> { - let requestBuilder = findPetsByStatusWithRequestBuilder(status: status) + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher<[Pet], Error> { + let requestBuilder = findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future<[Pet], Error> { promise in nonisolated(unsafe) let promise = promise @@ -181,16 +188,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -199,22 +208,23 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher<[Pet], Error> */ #if canImport(Combine) @available(*, deprecated, message: "This operation is deprecated.") @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func findPetsByTags(tags: [String]) -> AnyPublisher<[Pet], Error> { - let requestBuilder = findPetsByTagsWithRequestBuilder(tags: tags) + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher<[Pet], Error> { + let requestBuilder = findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future<[Pet], Error> { promise in nonisolated(unsafe) let promise = promise @@ -242,17 +252,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -261,21 +273,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getPetById(petId: Int64) -> AnyPublisher { - let requestBuilder = getPetByIdWithRequestBuilder(petId: petId) + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -303,14 +316,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -321,21 +336,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updatePet(body: Pet) -> AnyPublisher { - let requestBuilder = updatePetWithRequestBuilder(body: body) + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -362,12 +378,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -377,9 +395,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -388,12 +406,13 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) -> AnyPublisher { - let requestBuilder = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status) + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -420,19 +439,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -446,9 +467,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -457,12 +478,13 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> AnyPublisher { - let requestBuilder = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file) + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -489,19 +511,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -515,9 +539,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -526,12 +550,13 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> AnyPublisher { - let requestBuilder = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata) + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -558,19 +583,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -584,8 +611,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 06894a77ea0..d16fcf686e6 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -19,12 +19,13 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deleteOrder(orderId: String) -> AnyPublisher { - let requestBuilder = deleteOrderWithRequestBuilder(orderId: orderId) + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -49,14 +50,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -67,20 +70,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher<[String: Int], Error> */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getInventory() -> AnyPublisher<[String: Int], Error> { - let requestBuilder = getInventoryWithRequestBuilder() + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher<[String: Int], Error> { + let requestBuilder = getInventoryWithRequestBuilder(openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future<[String: Int], Error> { promise in nonisolated(unsafe) let promise = promise @@ -107,11 +111,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -122,21 +128,22 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getOrderById(orderId: Int64) -> AnyPublisher { - let requestBuilder = getOrderByIdWithRequestBuilder(orderId: orderId) + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -161,14 +168,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -179,21 +188,22 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func placeOrder(body: Order) -> AnyPublisher { - let requestBuilder = placeOrderWithRequestBuilder(body: body) + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -217,12 +227,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -232,8 +244,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index b1fea3f4ff1..2b86effbe17 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -19,12 +19,13 @@ open class UserAPI { Create user - parameter body: (body) Created user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUser(body: User) -> AnyPublisher { - let requestBuilder = createUserWithRequestBuilder(body: body) + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -49,12 +50,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -64,21 +67,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUsersWithArrayInput(body: [User]) -> AnyPublisher { - let requestBuilder = createUsersWithArrayInputWithRequestBuilder(body: body) + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -102,12 +106,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -117,21 +123,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func createUsersWithListInput(body: [User]) -> AnyPublisher { - let requestBuilder = createUsersWithListInputWithRequestBuilder(body: body) + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -155,12 +162,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -170,21 +179,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func deleteUser(username: String) -> AnyPublisher { - let requestBuilder = deleteUserWithRequestBuilder(username: username) + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -209,14 +219,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -227,21 +239,22 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func getUserByName(username: String) -> AnyPublisher { - let requestBuilder = getUserByNameWithRequestBuilder(username: username) + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -265,14 +278,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -283,9 +298,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -293,12 +308,13 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func loginUser(username: String, password: String) -> AnyPublisher { - let requestBuilder = loginUserWithRequestBuilder(username: username, password: password) + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -323,18 +339,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -343,20 +361,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func logoutUser() -> AnyPublisher { - let requestBuilder = logoutUserWithRequestBuilder() + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = logoutUserWithRequestBuilder(openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -379,11 +398,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -394,9 +415,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -404,12 +425,13 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: AnyPublisher */ #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - open class func updateUser(username: String, body: User) -> AnyPublisher { - let requestBuilder = updateUserWithRequestBuilder(username: username, body: body) + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> AnyPublisher { + let requestBuilder = updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient) let requestTask = requestBuilder.requestTask return Future { promise in nonisolated(unsafe) let promise = promise @@ -434,16 +456,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -453,8 +477,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs.swift index fcef0a2d34b..0760b694e1e 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 74b4cd2bc84..8695f2c9c28 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -17,12 +17,12 @@ open class AnotherFakeAPI { - parameter uuidTest: (header) to test uuid example value - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func call123testSpecialTags(uuidTest: UUID, body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return call123testSpecialTagsWithRequestBuilder(uuidTest: uuidTest, body: body).execute(apiResponseQueue) { result in + open class func call123testSpecialTags(uuidTest: UUID, body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return call123testSpecialTagsWithRequestBuilder(uuidTest: uuidTest, body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -37,25 +37,27 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter uuidTest: (header) to test uuid example value - - parameter body: (body) client model + - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(uuidTest: UUID, body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(uuidTest: UUID, body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", - "uuid_test": uuidTest.encodeToJSON(), + "uuid_test": uuidTest.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index e2b3ac7444d..4379225cd79 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -16,12 +16,12 @@ open class FakeAPI { creates an XmlItem - parameter xmlItem: (body) XmlItem Body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createXmlItem(xmlItem: XmlItem, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createXmlItemWithRequestBuilder(xmlItem: xmlItem).execute(apiResponseQueue) { result in + open class func createXmlItem(xmlItem: XmlItem, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createXmlItemWithRequestBuilder(xmlItem: xmlItem, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,12 +36,14 @@ open class FakeAPI { - POST /fake/create_xml_item - this route creates an XmlItem - parameter xmlItem: (body) XmlItem Body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createXmlItemWithRequestBuilder(xmlItem: XmlItem) -> RequestBuilder { + open class func createXmlItemWithRequestBuilder(xmlItem: XmlItem, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/create_xml_item" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: xmlItem) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: xmlItem, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,20 +53,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -78,12 +80,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -93,20 +97,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -120,12 +124,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -135,20 +141,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -162,12 +168,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -177,20 +185,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -204,12 +212,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -219,20 +229,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -246,12 +256,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -261,21 +273,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -288,17 +300,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -307,21 +321,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -336,12 +350,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -351,9 +367,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -373,12 +389,12 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -396,39 +412,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -442,9 +460,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -525,12 +543,12 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -545,21 +563,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -567,23 +587,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -595,12 +615,12 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -615,48 +635,50 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -670,12 +692,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -685,9 +709,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -695,12 +719,12 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -714,15 +738,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -736,9 +762,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -748,12 +774,12 @@ open class FakeAPI { - parameter http: (query) - parameter url: (query) - parameter context: (query) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testQueryParameterCollectionFormat(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testQueryParameterCollectionFormatWithRequestBuilder(pipe: pipe, ioutil: ioutil, http: http, url: url, context: context).execute(apiResponseQueue) { result in + open class func testQueryParameterCollectionFormat(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testQueryParameterCollectionFormatWithRequestBuilder(pipe: pipe, ioutil: ioutil, http: http, url: url, context: context, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -767,24 +793,26 @@ open class FakeAPI { - PUT /fake/test-query-parameters - To test the collection format in query parameters - parameter pipe: (query) - - parameter ioutil: (query) - - parameter http: (query) - - parameter url: (query) - - parameter context: (query) + - parameter ioutil: (query) + - parameter http: (query) + - parameter url: (query) + - parameter context: (query) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testQueryParameterCollectionFormatWithRequestBuilder(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String]) -> RequestBuilder { + open class func testQueryParameterCollectionFormatWithRequestBuilder(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/test-query-parameters" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "pipe": (wrappedValue: pipe.encodeToJSON(), isExplode: false), - "ioutil": (wrappedValue: ioutil.encodeToJSON(), isExplode: false), - "http": (wrappedValue: http.encodeToJSON(), isExplode: false), - "url": (wrappedValue: url.encodeToJSON(), isExplode: false), - "context": (wrappedValue: context.encodeToJSON(), isExplode: true), + "pipe": (wrappedValue: pipe.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "ioutil": (wrappedValue: ioutil.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "http": (wrappedValue: http.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "url": (wrappedValue: url.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "context": (wrappedValue: context.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: true), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -793,8 +821,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 2a601f50172..c6e49aeda8f 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -16,12 +16,12 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -39,12 +39,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,8 +56,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index a981cbe5475..9f6fe242419 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -16,12 +16,12 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -38,12 +38,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -53,9 +55,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -63,12 +65,12 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -85,28 +87,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -122,12 +126,12 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -145,16 +149,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -163,22 +169,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @available(*, deprecated, message: "This operation is deprecated.") @discardableResult - open class func findPetsByTags(tags: Set, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Set?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + open class func findPetsByTags(tags: Set, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Set?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -196,17 +202,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: Set) -> RequestBuilder> { + open class func findPetsByTagsWithRequestBuilder(tags: Set, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -215,21 +223,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { - return getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { + return getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -247,14 +255,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -265,21 +275,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -296,12 +306,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -311,9 +323,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -322,12 +334,12 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -344,19 +356,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -370,9 +384,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -381,12 +395,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -403,19 +417,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -429,9 +445,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -440,12 +456,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -462,19 +478,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -488,8 +506,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 80d459964d4..0e29832db78 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -16,12 +16,12 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,14 +36,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,20 +56,20 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { - return getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { + return getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -84,11 +86,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -99,21 +103,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -128,14 +132,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -146,21 +152,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -174,12 +180,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -189,8 +197,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index 6682666b17c..3e3eecc2745 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -16,12 +16,12 @@ open class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,12 +36,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,21 +53,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -79,12 +81,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -94,21 +98,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -122,12 +126,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -137,21 +143,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -166,14 +172,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -184,21 +192,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { - return getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { + return getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -212,14 +220,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -230,9 +240,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -240,12 +250,12 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -260,18 +270,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -280,20 +292,20 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -306,11 +318,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -321,9 +335,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -331,12 +345,12 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -351,16 +365,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -370,8 +386,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/default/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift b/samples/client/petstore/swift6/default/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift index 71f81040781..45bcfcaa858 100644 --- a/samples/client/petstore/swift6/default/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift +++ b/samples/client/petstore/swift6/default/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift @@ -47,7 +47,7 @@ class DateFormatTests: XCTestCase { return } - var encodedDate = utcDate.encodeToJSON() as! String + var encodedDate = utcDate.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) // test with a positive timzone offset from UTC @@ -59,7 +59,7 @@ class DateFormatTests: XCTestCase { return } - encodedDate = nonUTCDate1.encodeToJSON() as! String + encodedDate = nonUTCDate1.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) // test with a negative timzone offset from UTC @@ -71,14 +71,14 @@ class DateFormatTests: XCTestCase { return } - encodedDate = nonUTCDate2.encodeToJSON() as! String + encodedDate = nonUTCDate2.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) } func testCodableAlwaysResultsInUTCEncodedDate() throws { - CodableHelper.shared.jsonEncoder.outputFormatting.remove(.prettyPrinted) + OpenAPIClient.shared.codableHelper.jsonEncoder.outputFormatting.remove(.prettyPrinted) let jsonData = "{\"date\":\"1970-01-01T00:00:00.000Z\"}".data(using: .utf8)! - let decodeResult = CodableHelper.shared.decode(DateTest.self, from: jsonData) + let decodeResult = OpenAPIClient.shared.codableHelper.decode(DateTest.self, from: jsonData) _ = try decodeResult.get() var dateComponents = DateComponents() @@ -100,7 +100,7 @@ class DateFormatTests: XCTestCase { } let dateTest = DateTest(date: date) - let encodeResult = CodableHelper.shared.encode(dateTest) + let encodeResult = OpenAPIClient.shared.codableHelper.encode(dateTest) let data = try encodeResult.get() guard let jsonString = String(data: data, encoding: .utf8) else { XCTFail("Unable to convert encoded data to string.") diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs.swift index fcef0a2d34b..0760b694e1e 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 4bd946c0ae4..45268eb734d 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -16,12 +16,12 @@ import AnyCodable To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -36,12 +36,14 @@ import AnyCodable - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,8 +53,8 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index c92b3587735..da7e8c5d447 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -15,12 +15,12 @@ import AnyCodable /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -34,12 +34,14 @@ import AnyCodable - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -49,20 +51,20 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -76,12 +78,14 @@ import AnyCodable - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -91,20 +95,20 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -118,12 +122,14 @@ import AnyCodable - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -133,20 +139,20 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -160,12 +166,14 @@ import AnyCodable - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -175,20 +183,20 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -202,12 +210,14 @@ import AnyCodable - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -217,21 +227,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -244,17 +254,19 @@ import AnyCodable /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -263,21 +275,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -292,12 +304,14 @@ import AnyCodable - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -307,9 +321,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -329,12 +343,12 @@ import AnyCodable - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -352,39 +366,41 @@ import AnyCodable - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -398,9 +414,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -481,12 +497,12 @@ import AnyCodable - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -501,21 +517,23 @@ import AnyCodable - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -523,23 +541,23 @@ import AnyCodable var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -551,12 +569,12 @@ import AnyCodable - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -571,48 +589,50 @@ import AnyCodable - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -626,12 +646,14 @@ import AnyCodable test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -641,9 +663,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -651,12 +673,12 @@ import AnyCodable - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -670,15 +692,17 @@ import AnyCodable test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -692,8 +716,8 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index c7339c13573..7ac1aef1816 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -16,12 +16,12 @@ import AnyCodable To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -39,12 +39,14 @@ import AnyCodable - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,8 +56,8 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 52bf027dadd..9ffa65a9d7d 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -16,12 +16,12 @@ import AnyCodable Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -41,12 +41,14 @@ import AnyCodable - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -56,9 +58,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -66,12 +68,12 @@ import AnyCodable - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -88,28 +90,30 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -125,12 +129,12 @@ import AnyCodable Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -148,16 +152,18 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -166,22 +172,22 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @available(*, deprecated, message: "This operation is deprecated.") @discardableResult - open class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -199,17 +205,19 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -218,21 +226,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { - return getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { + return getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -250,14 +258,16 @@ import AnyCodable - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -268,21 +278,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -299,12 +309,14 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -314,9 +326,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -325,12 +337,12 @@ import AnyCodable - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -347,19 +359,21 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -373,9 +387,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -384,12 +398,12 @@ import AnyCodable - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -406,19 +420,21 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -432,9 +448,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -443,12 +459,12 @@ import AnyCodable - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -465,19 +481,21 @@ import AnyCodable - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -491,8 +509,8 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index ff91a10980c..5ac762544ce 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -16,12 +16,12 @@ import AnyCodable Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,14 +36,16 @@ import AnyCodable - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,20 +56,20 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { - return getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { + return getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -84,11 +86,13 @@ import AnyCodable - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -99,21 +103,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -128,14 +132,16 @@ import AnyCodable - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -146,21 +152,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -174,12 +180,14 @@ import AnyCodable Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -189,8 +197,8 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index 16b9738b014..f524b73a35b 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -16,12 +16,12 @@ import AnyCodable Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -36,12 +36,14 @@ import AnyCodable - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,21 +53,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -79,12 +81,14 @@ import AnyCodable Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -94,21 +98,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -122,12 +126,14 @@ import AnyCodable Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -137,21 +143,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -166,14 +172,16 @@ import AnyCodable - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -184,21 +192,21 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { - return getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { + return getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -212,14 +220,16 @@ import AnyCodable Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -230,9 +240,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -240,12 +250,12 @@ import AnyCodable - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -260,18 +270,20 @@ import AnyCodable - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -280,20 +292,20 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -306,11 +318,13 @@ import AnyCodable /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -321,9 +335,9 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -331,12 +345,12 @@ import AnyCodable - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -351,16 +365,18 @@ import AnyCodable - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -370,8 +386,8 @@ import AnyCodable let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs.swift index 9689a1dcb69..4c6750957e0 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://localhost" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://localhost", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift index 0d3460ff47f..5aeb5ba6a12 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift @@ -14,12 +14,12 @@ open class DefaultAPI { /** - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func rootGet(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Fruit?, _ error: Error?) -> Void) -> RequestTask { - return rootGetWithRequestBuilder().execute(apiResponseQueue) { result in + open class func rootGet(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Fruit?, _ error: Error?) -> Void) -> RequestTask { + return rootGetWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -31,11 +31,13 @@ open class DefaultAPI { /** - GET / + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func rootGetWithRequestBuilder() -> RequestBuilder { + open class func rootGetWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -46,8 +48,8 @@ open class DefaultAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index fcef0a2d34b..0760b694e1e 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 91c212b4fa9..73f70decde3 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -17,11 +17,12 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func call123testSpecialTags( body: Client) -> Promise { + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - call123testSpecialTagsWithRequestBuilder(body: body).execute { result in + call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -37,12 +38,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -52,8 +55,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index a6fa339d436..5b93b45d530 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -16,11 +16,12 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func fakeOuterBooleanSerialize( body: Bool? = nil) -> Promise { + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute { result in + fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -35,12 +36,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -50,19 +53,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func fakeOuterCompositeSerialize( body: OuterComposite? = nil) -> Promise { + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute { result in + fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -77,12 +81,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -92,19 +98,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func fakeOuterNumberSerialize( body: Double? = nil) -> Promise { + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - fakeOuterNumberSerializeWithRequestBuilder(body: body).execute { result in + fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -119,12 +126,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -134,19 +143,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func fakeOuterStringSerialize( body: String? = nil) -> Promise { + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - fakeOuterStringSerializeWithRequestBuilder(body: body).execute { result in + fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -161,12 +171,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -176,19 +188,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testBodyWithFileSchema( body: FileSchemaTestClass) -> Promise { + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testBodyWithFileSchemaWithRequestBuilder(body: body).execute { result in + testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -203,12 +216,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -218,20 +233,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testBodyWithQueryParams( query: String, body: User) -> Promise { + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute { result in + testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -245,17 +261,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -264,20 +282,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testClientModel( body: Client) -> Promise { + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testClientModelWithRequestBuilder(body: body).execute { result in + testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -293,12 +312,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -308,9 +329,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -330,11 +351,12 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testEndpointParameters( number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Promise { + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { result in + testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -353,39 +375,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -399,9 +423,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -482,11 +506,12 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testEnumParameters( enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> Promise { + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute { result in + testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -502,21 +527,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -524,23 +551,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -552,11 +579,12 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testGroupParameters( requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> Promise { + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute { result in + testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -572,47 +600,50 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testInlineAdditionalProperties( param: [String: String]) -> Promise { + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute { result in + testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -627,12 +658,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -642,9 +675,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -652,11 +685,12 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testJsonFormData( param: String, param2: String) -> Promise { + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute { result in + testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -671,15 +705,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -693,8 +729,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 05604838804..036a48df1b2 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -17,11 +17,12 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func testClassname( body: Client) -> Promise { + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - testClassnameWithRequestBuilder(body: body).execute { result in + testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -40,12 +41,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -55,8 +58,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 374e1598539..ecd79b343cf 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -17,11 +17,12 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func addPet( body: Pet) -> Promise { + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - addPetWithRequestBuilder(body: body).execute { result in + addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -42,12 +43,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -57,9 +60,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -67,11 +70,12 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func deletePet( petId: Int64, apiKey: String? = nil) -> Promise { + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute { result in + deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -89,28 +93,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -126,11 +132,12 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise<[Pet]> */ - open class func findPetsByStatus( status: [Status_findPetsByStatus]) -> Promise<[Pet]> { + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise<[Pet]> { let deferred = Promise<[Pet]>.pending() - findPetsByStatusWithRequestBuilder(status: status).execute { result in + findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -149,16 +156,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -167,21 +176,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTags( tags: [String]) -> Promise<[Pet]> { + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise<[Pet]> { let deferred = Promise<[Pet]>.pending() - findPetsByTagsWithRequestBuilder(tags: tags).execute { result in + findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -200,17 +210,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -219,20 +231,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func getPetById( petId: Int64) -> Promise { + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - getPetByIdWithRequestBuilder(petId: petId).execute { result in + getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -251,14 +264,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -269,20 +284,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func updatePet( body: Pet) -> Promise { + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - updatePetWithRequestBuilder(body: body).execute { result in + updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -300,12 +316,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -315,9 +333,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -326,11 +344,12 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func updatePetWithForm( petId: Int64, name: String? = nil, status: String? = nil) -> Promise { + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { result in + updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -348,19 +367,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -374,9 +395,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -385,11 +406,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func uploadFile( petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> Promise { + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { result in + uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -407,19 +429,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -433,9 +457,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -444,11 +468,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func uploadFileWithRequiredFile( petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> Promise { + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute { result in + uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -466,19 +491,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -492,8 +519,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index fe06c7594c8..f87f893e04d 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -17,11 +17,12 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func deleteOrder( orderId: String) -> Promise { + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - deleteOrderWithRequestBuilder(orderId: orderId).execute { result in + deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -37,14 +38,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -55,19 +58,20 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise<[String: Int]> */ - open class func getInventory() -> Promise<[String: Int]> { + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise<[String: Int]> { let deferred = Promise<[String: Int]>.pending() - getInventoryWithRequestBuilder().execute { result in + getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -85,11 +89,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -100,20 +106,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func getOrderById( orderId: Int64) -> Promise { + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - getOrderByIdWithRequestBuilder(orderId: orderId).execute { result in + getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -129,14 +136,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -147,20 +156,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func placeOrder( body: Order) -> Promise { + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - placeOrderWithRequestBuilder(body: body).execute { result in + placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -175,12 +185,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -190,8 +202,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index 107202fa715..63fc8dfcae9 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -17,11 +17,12 @@ open class UserAPI { Create user - parameter body: (body) Created user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func createUser( body: User) -> Promise { + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - createUserWithRequestBuilder(body: body).execute { result in + createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -37,12 +38,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -52,20 +55,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func createUsersWithArrayInput( body: [User]) -> Promise { + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - createUsersWithArrayInputWithRequestBuilder(body: body).execute { result in + createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -80,12 +84,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -95,20 +101,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func createUsersWithListInput( body: [User]) -> Promise { + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - createUsersWithListInputWithRequestBuilder(body: body).execute { result in + createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -123,12 +130,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -138,20 +147,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func deleteUser( username: String) -> Promise { + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - deleteUserWithRequestBuilder(username: username).execute { result in + deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -167,14 +177,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -185,20 +197,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func getUserByName( username: String) -> Promise { + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - getUserByNameWithRequestBuilder(username: username).execute { result in + getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -213,14 +226,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -231,9 +246,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -241,11 +256,12 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func loginUser( username: String, password: String) -> Promise { + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - loginUserWithRequestBuilder(username: username, password: password).execute { result in + loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): deferred.resolver.fulfill(response.body) @@ -261,18 +277,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -281,19 +299,20 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func logoutUser() -> Promise { + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - logoutUserWithRequestBuilder().execute { result in + logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -307,11 +326,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -322,9 +343,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -332,11 +353,12 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Promise */ - open class func updateUser( username: String, body: User) -> Promise { + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Promise { let deferred = Promise.pending() - updateUserWithRequestBuilder(username: username, body: body).execute { result in + updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: deferred.resolver.fulfill(()) @@ -352,16 +374,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -371,8 +395,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index 7f43388ef48..200d84ae5ba 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -14,97 +14,97 @@ import AnyCodable @preconcurrency import PromiseKit extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -230,12 +230,6 @@ extension KeyedDecodingContainerProtocol { } -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} - extension RequestBuilder { public func execute() -> Promise> { let deferred = Promise>.pending() diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index 761f23dff4d..a85d069c72e 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -internal class PetstoreClientAPI: @unchecked Sendable { - private init() {} - internal static let shared = PetstoreClientAPI() - - internal var basePath = "http://petstore.swagger.io:80/v2" - internal var customHeaders: [String: String] = [:] +internal class OpenAPIClient: @unchecked Sendable { + internal var basePath: String + internal var customHeaders: [String: String] internal var credential: URLCredential? - internal var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - internal var apiResponseQueue: DispatchQueue = .main + internal var requestBuilderFactory: RequestBuilderFactory + internal var apiResponseQueue: DispatchQueue + internal var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - internal var successfulStatusCodeRange: Range = 200..<300 + internal var successfulStatusCodeRange: Range + + internal init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + internal static let shared = OpenAPIClient() } internal class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + internal var credential: URLCredential? + internal var headers: [String: String] internal let parameters: [String: Any]? internal let method: String internal let URLString: String internal let requestTask: RequestTask = RequestTask() internal let requiresAuthentication: Bool + internal let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. internal var onProgressReady: ((Progress) -> Void)? - required internal init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required internal init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } internal func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ internal class RequestBuilder: @unchecked Sendable { } @discardableResult - internal func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + internal func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ internal class RequestBuilder: @unchecked Sendable { } internal func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 319e3f1dfef..a115c97f36a 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -16,12 +16,12 @@ internal class AnotherFakeAPI { To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -36,12 +36,14 @@ internal class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + internal class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,8 +53,8 @@ internal class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index 5368805f410..4b008f8ecd7 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -15,12 +15,12 @@ internal class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -34,12 +34,14 @@ internal class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + internal class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -49,20 +51,20 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -76,12 +78,14 @@ internal class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + internal class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -91,20 +95,20 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -118,12 +122,14 @@ internal class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + internal class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -133,20 +139,20 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -160,12 +166,14 @@ internal class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + internal class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -175,20 +183,20 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -202,12 +210,14 @@ internal class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + internal class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -217,21 +227,21 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + internal class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -244,17 +254,19 @@ internal class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + internal class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -263,21 +275,21 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -292,12 +304,14 @@ internal class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + internal class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -307,9 +321,9 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -329,12 +343,12 @@ internal class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testEndpointParameters(integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, number: Double, float: Float? = nil, double: Double, string: String? = nil, patternWithoutDelimiter: String, byte: Data, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testEndpointParametersWithRequestBuilder(integer: integer, int32: int32, int64: int64, number: number, float: float, double: double, string: string, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + internal class func testEndpointParameters(integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, number: Double, float: Float? = nil, double: Double, string: String? = nil, patternWithoutDelimiter: String, byte: Data, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testEndpointParametersWithRequestBuilder(integer: integer, int32: int32, int64: int64, number: number, float: float, double: double, string: string, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -352,39 +366,41 @@ internal class FakeAPI { - type: http - name: http_basic_test - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter number: (form) None - - parameter float: (form) None (optional) - - parameter double: (form) None - - parameter string: (form) None (optional) - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter number: (form) None + - parameter float: (form) None (optional) + - parameter double: (form) None + - parameter string: (form) None (optional) + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testEndpointParametersWithRequestBuilder(integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, number: Double, float: Float? = nil, double: Double, string: String? = nil, patternWithoutDelimiter: String, byte: Data, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + internal class func testEndpointParametersWithRequestBuilder(integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, number: Double, float: Float? = nil, double: Double, string: String? = nil, patternWithoutDelimiter: String, byte: Data, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -398,9 +414,9 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -481,12 +497,12 @@ internal class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + internal class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -501,21 +517,23 @@ internal class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + internal class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -523,23 +541,23 @@ internal class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -551,12 +569,12 @@ internal class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + internal class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -571,48 +589,50 @@ internal class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + internal class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + internal class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -626,12 +646,14 @@ internal class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + internal class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -641,9 +663,9 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -651,12 +673,12 @@ internal class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + internal class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -670,15 +692,17 @@ internal class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + internal class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -692,8 +716,8 @@ internal class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index a7e3b550f0c..bcca984513a 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -16,12 +16,12 @@ internal class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -39,12 +39,14 @@ internal class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + internal class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,8 +56,8 @@ internal class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index c92134f178b..e365abf5a91 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -16,12 +16,12 @@ internal class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -41,12 +41,14 @@ internal class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + internal class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -56,9 +58,9 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -66,12 +68,12 @@ internal class PetAPI { - parameter apiKey: (header) (optional) - parameter petId: (path) Pet id to delete - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func deletePet(apiKey: String? = nil, petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return deletePetWithRequestBuilder(apiKey: apiKey, petId: petId).execute(apiResponseQueue) { result in + internal class func deletePet(apiKey: String? = nil, petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return deletePetWithRequestBuilder(apiKey: apiKey, petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -88,28 +90,30 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter apiKey: (header) (optional) - - parameter petId: (path) Pet id to delete + - parameter petId: (path) Pet id to delete + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func deletePetWithRequestBuilder(apiKey: String? = nil, petId: Int64) -> RequestBuilder { + internal class func deletePetWithRequestBuilder(apiKey: String? = nil, petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -125,12 +129,12 @@ internal class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { - return findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + internal class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { + return findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -148,16 +152,18 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - internal class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + internal class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -166,22 +172,22 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @available(*, deprecated, message: "This operation is deprecated.") @discardableResult - internal class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { - return findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + internal class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result<[Pet], ErrorResponse>) -> Void) -> RequestTask { + return findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -199,17 +205,19 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - internal class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + internal class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -218,21 +226,21 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + internal class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -250,14 +258,16 @@ internal class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + internal class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -268,21 +278,21 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -299,12 +309,14 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + internal class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -314,9 +326,9 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -325,12 +337,12 @@ internal class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + internal class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -347,19 +359,21 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + internal class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -373,9 +387,9 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -384,12 +398,12 @@ internal class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + internal class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -406,19 +420,21 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + internal class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -432,9 +448,9 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -443,12 +459,12 @@ internal class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter requiredFile: (form) file to upload - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func uploadFileWithRequiredFile(petId: Int64, additionalMetadata: String? = nil, requiredFile: URL, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, requiredFile: requiredFile).execute(apiResponseQueue) { result in + internal class func uploadFileWithRequiredFile(petId: Int64, additionalMetadata: String? = nil, requiredFile: URL, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, requiredFile: requiredFile, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -465,19 +481,21 @@ internal class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, requiredFile: URL) -> RequestBuilder { + internal class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, requiredFile: URL, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -491,8 +509,8 @@ internal class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index f5a4eacfe05..19586157e8a 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -16,12 +16,12 @@ internal class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + internal class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -36,14 +36,16 @@ internal class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + internal class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,20 +56,20 @@ internal class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result<[String: Int], ErrorResponse>) -> Void) -> RequestTask { - return getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + internal class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result<[String: Int], ErrorResponse>) -> Void) -> RequestTask { + return getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -84,11 +86,13 @@ internal class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - internal class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + internal class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -99,21 +103,21 @@ internal class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + internal class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -128,14 +132,16 @@ internal class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + internal class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -146,21 +152,21 @@ internal class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -174,12 +180,14 @@ internal class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + internal class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -189,8 +197,8 @@ internal class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index fb74a459e25..9ccea7a3c70 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -16,12 +16,12 @@ internal class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -36,12 +36,14 @@ internal class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + internal class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -51,21 +53,21 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -79,12 +81,14 @@ internal class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + internal class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -94,21 +98,21 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + internal class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -122,12 +126,14 @@ internal class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + internal class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -137,21 +143,21 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + internal class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -166,14 +172,16 @@ internal class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + internal class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -184,21 +192,21 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + internal class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -212,14 +220,16 @@ internal class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + internal class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -230,9 +240,9 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -240,12 +250,12 @@ internal class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + internal class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(.success(response.body)) @@ -260,18 +270,20 @@ internal class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + internal class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -280,20 +292,20 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + internal class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -306,11 +318,13 @@ internal class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func logoutUserWithRequestBuilder() -> RequestBuilder { + internal class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -321,9 +335,9 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -331,12 +345,12 @@ internal class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the result */ @discardableResult - internal class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { - return updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + internal class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ result: Swift.Result) -> Void) -> RequestTask { + return updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion(.success(())) @@ -351,16 +365,18 @@ internal class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - internal class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + internal class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -370,8 +386,8 @@ internal class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index b81efc43a01..5abbd26a794 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation internal class CodableHelper: @unchecked Sendable { - private init() {} - internal static let shared = CodableHelper() + internal init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index c64a95bb402..3128ce2e167 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index cc27d738da1..34e6d115035 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation internal class JSONEncodingHelper { - internal class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + internal class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ internal class JSONEncodingHelper { return params } - internal class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + internal class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 5575fd4b9c8..2bde87ea0cf 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 3722c508036..b9faf1b0a4a 100644 --- a/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +internal class URLSessionRequestBuilderFactory: RequestBuilderFactory { + internal init() {} + + internal func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + internal func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ internal class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendab */ internal var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required internal init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required internal init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ internal class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendab } @discardableResult - override internal func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override internal func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ internal class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendab let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ internal class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendab dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ internal class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendab return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ internal class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendab internal func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ internal class URLSessionDecodableRequestBuilder: URLSessionReques return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ internal class URLSessionDecodableRequestBuilder: URLSessionReques return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift index fcef0a2d34b..0760b694e1e 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 216a3835bdc..783c9271079 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -17,12 +17,12 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -43,12 +43,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -58,8 +60,8 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index 3780b66fe1a..8df021eb271 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -16,12 +16,12 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -41,12 +41,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -56,20 +58,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -89,12 +91,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -104,20 +108,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -137,12 +141,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -152,20 +158,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -185,12 +191,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -200,20 +208,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -233,12 +241,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -248,21 +258,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + let requestTask = self.testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -281,17 +291,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -300,21 +312,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -335,12 +347,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -350,9 +364,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -372,12 +386,12 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + let requestTask = self.testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -401,39 +415,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -447,9 +463,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -530,12 +546,12 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + let requestTask = self.testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -556,21 +572,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -578,23 +596,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -606,12 +624,12 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + let requestTask = self.testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -632,48 +650,50 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + let requestTask = self.testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -693,12 +713,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -708,9 +730,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -718,12 +740,12 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + let requestTask = self.testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -743,15 +765,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -765,8 +789,8 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 18dc5641448..a770c9995de 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -17,12 +17,12 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -46,12 +46,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -61,8 +63,8 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 1a4b9fea884..80c71e0f5f4 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -17,12 +17,12 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -48,12 +48,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -63,9 +65,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -73,12 +75,12 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + let requestTask = self.deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -101,28 +103,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -138,12 +142,12 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable<[Pet]> */ - open class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable<[Pet]> { + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable<[Pet]> { return Observable.create { observer -> Disposable in - let requestTask = self.findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + let requestTask = self.findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -167,16 +171,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -185,22 +191,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable<[Pet]> { + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable<[Pet]> { return Observable.create { observer -> Disposable in - let requestTask = self.findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + let requestTask = self.findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -224,17 +230,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -243,21 +251,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + let requestTask = self.getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -281,14 +289,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -299,21 +309,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -336,12 +346,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -351,9 +363,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -362,12 +374,12 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + let requestTask = self.updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -390,19 +402,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -416,9 +430,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -427,12 +441,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + let requestTask = self.uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -455,19 +469,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -481,9 +497,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -492,12 +508,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + let requestTask = self.uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -520,19 +536,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -546,8 +564,8 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 80f3bca75a2..607723b7397 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -17,12 +17,12 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + let requestTask = self.deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -43,14 +43,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -61,20 +63,20 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable<[String: Int]> */ - open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable<[String: Int]> { + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable<[String: Int]> { return Observable.create { observer -> Disposable in - let requestTask = self.getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + let requestTask = self.getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -97,11 +99,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -112,21 +116,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + let requestTask = self.getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -147,14 +151,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -165,21 +171,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -199,12 +205,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -214,8 +222,8 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index b5d332b3ffb..87c897d330a 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -17,12 +17,12 @@ open class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -43,12 +43,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -58,21 +60,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -92,12 +94,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -107,21 +111,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + let requestTask = self.createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -141,12 +145,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -156,21 +162,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + let requestTask = self.deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -191,14 +197,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -209,21 +217,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + let requestTask = self.getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -243,14 +251,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -261,9 +271,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -271,12 +281,12 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + let requestTask = self.loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): observer.onNext(response.body) @@ -297,18 +307,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -317,20 +329,20 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + let requestTask = self.logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -349,11 +361,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -364,9 +378,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -374,12 +388,12 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: Observable */ - open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue) -> Observable { + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> Observable { return Observable.create { observer -> Disposable in - let requestTask = self.updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + let requestTask = self.updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: observer.onNext(()) @@ -400,16 +414,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -419,8 +435,8 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift index 98a9c23d625..d13a9285112 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,102 +13,96 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() - } -} - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) + return data.encodeToJSON(codableHelper: codableHelper) } } diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/swift6_test_all.sh b/samples/client/petstore/swift6/swift6_test_all.sh index a244ac204df..71fb4462253 100755 --- a/samples/client/petstore/swift6/swift6_test_all.sh +++ b/samples/client/petstore/swift6/swift6_test_all.sh @@ -7,7 +7,7 @@ DIRECTORY=`dirname $0` (cd $DIRECTORY/alamofireLibrary/SwaggerClientTests/ && ./run_xcodebuild.sh) (cd $DIRECTORY/apiNonStaticMethod/SwaggerClientTests/ && ./run_xcodebuild.sh) (cd $DIRECTORY/asyncAwaitLibrary/SwaggerClientTests/ && ./run_xcodebuild.sh) -# (cd $DIRECTORY/combineLibrary/SwaggerClientTests/ && ./run_xcodebuild.sh) +(cd $DIRECTORY/combineLibrary/SwaggerClientTests/ && ./run_xcodebuild.sh) (cd $DIRECTORY/combineDeferredLibrary/SwaggerClientTests/ && ./run_xcodebuild.sh) (cd $DIRECTORY/default/SwaggerClientTests/ && ./run_xcodebuild.sh) (cd $DIRECTORY/promisekitLibrary/SwaggerClientTests/ && ./run_xcodebuild.sh) @@ -27,5 +27,5 @@ DIRECTORY=`dirname $0` (cd $DIRECTORY/resultLibrary/ && ./run_spmbuild.sh) (cd $DIRECTORY/rxswiftLibrary/ && ./run_spmbuild.sh) (cd $DIRECTORY/urlsessionLibrary/ && ./run_spmbuild.sh) -#(cd $DIRECTORY/vaporLibrary/ && ./run_spmbuild.sh) +# #(cd $DIRECTORY/vaporLibrary/ && ./run_spmbuild.sh) diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs.swift index fcef0a2d34b..a6563800093 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs.swift @@ -9,41 +9,64 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() +public enum PetstoreClientAPI {} - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +76,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +88,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift index b72d026714c..cf6b31f47c9 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift @@ -19,12 +19,12 @@ open class AnotherFakeAPI { To test special tags - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func call123testSpecialTags(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return call123testSpecialTagsWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -39,12 +39,14 @@ open class AnotherFakeAPI { - PATCH /another-fake/dummy - To test special tags and operation ID starting with number - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func call123testSpecialTagsWithRequestBuilder(body: Client) -> RequestBuilder { + open class func call123testSpecialTagsWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,9 +56,9 @@ open class AnotherFakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift index 06766ba46b1..65b100a7ce0 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift @@ -18,12 +18,12 @@ open class FakeAPI { /** - parameter body: (body) Input boolean as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterBooleanSerialize(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Bool?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterBooleanSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -37,12 +37,14 @@ open class FakeAPI { - POST /fake/outer/boolean - Test serialization of outer boolean types - parameter body: (body) Input boolean as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil) -> RequestBuilder { + open class func fakeOuterBooleanSerializeWithRequestBuilder(body: Bool? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -52,20 +54,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input composite as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: OuterComposite?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterCompositeSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -79,12 +81,14 @@ open class FakeAPI { - POST /fake/outer/composite - Test serialization of object with outer number type - parameter body: (body) Input composite as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil) -> RequestBuilder { + open class func fakeOuterCompositeSerializeWithRequestBuilder(body: OuterComposite? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -94,20 +98,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input number as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterNumberSerialize(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Double?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterNumberSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -121,12 +125,14 @@ open class FakeAPI { - POST /fake/outer/number - Test serialization of outer number types - parameter body: (body) Input number as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil) -> RequestBuilder { + open class func fakeOuterNumberSerializeWithRequestBuilder(body: Double? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -136,20 +142,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) Input string as post body (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func fakeOuterStringSerialize(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return fakeOuterStringSerializeWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -163,12 +169,14 @@ open class FakeAPI { - POST /fake/outer/string - Test serialization of outer string types - parameter body: (body) Input string as post body (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil) -> RequestBuilder { + open class func fakeOuterStringSerializeWithRequestBuilder(body: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -178,20 +186,20 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testBodyWithFileSchema(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithFileSchemaWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -205,12 +213,14 @@ open class FakeAPI { - PUT /fake/body-with-file-schema - For this test, the body for this request much reference a schema named `File`. - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass) -> RequestBuilder { + open class func testBodyWithFileSchemaWithRequestBuilder(body: FileSchemaTestClass, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -220,21 +230,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** - parameter query: (query) - parameter body: (body) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in + open class func testBodyWithQueryParams(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testBodyWithQueryParamsWithRequestBuilder(query: query, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -247,17 +257,19 @@ open class FakeAPI { /** - PUT /fake/body-with-query-params - parameter query: (query) - - parameter body: (body) + - parameter body: (body) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User) -> RequestBuilder { + open class func testBodyWithQueryParamsWithRequestBuilder(query: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "query": (wrappedValue: query.encodeToJSON(), isExplode: false), + "query": (wrappedValue: query.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -266,21 +278,21 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** To test \"client\" model - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClientModel(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClientModelWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -295,12 +307,14 @@ open class FakeAPI { - PATCH /fake - To test \"client\" model - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClientModelWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClientModelWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -310,9 +324,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -332,12 +346,12 @@ open class FakeAPI { - parameter dateTime: (form) None (optional) - parameter password: (form) None (optional) - parameter callback: (form) None (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute(apiResponseQueue) { result in + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -355,39 +369,41 @@ open class FakeAPI { - type: http - name: http_basic_test - parameter number: (form) None - - parameter double: (form) None - - parameter patternWithoutDelimiter: (form) None - - parameter byte: (form) None - - parameter integer: (form) None (optional) - - parameter int32: (form) None (optional) - - parameter int64: (form) None (optional) - - parameter float: (form) None (optional) - - parameter string: (form) None (optional) - - parameter binary: (form) None (optional) - - parameter date: (form) None (optional) - - parameter dateTime: (form) None (optional) - - parameter password: (form) None (optional) - - parameter callback: (form) None (optional) + - parameter double: (form) None + - parameter patternWithoutDelimiter: (form) None + - parameter byte: (form) None + - parameter integer: (form) None (optional) + - parameter int32: (form) None (optional) + - parameter int64: (form) None (optional) + - parameter float: (form) None (optional) + - parameter string: (form) None (optional) + - parameter binary: (form) None (optional) + - parameter date: (form) None (optional) + - parameter dateTime: (form) None (optional) + - parameter password: (form) None (optional) + - parameter callback: (form) None (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder { + open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "integer": integer?.encodeToJSON(), - "int32": int32?.encodeToJSON(), - "int64": int64?.encodeToJSON(), - "number": number.encodeToJSON(), - "float": float?.encodeToJSON(), - "double": double.encodeToJSON(), - "string": string?.encodeToJSON(), - "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(), - "byte": byte.encodeToJSON(), - "binary": binary?.encodeToJSON(), - "date": date?.encodeToJSON(), - "dateTime": dateTime?.encodeToJSON(), - "password": password?.encodeToJSON(), - "callback": callback?.encodeToJSON(), + "integer": integer?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int32": int32?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "int64": int64?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "number": number.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "float": float?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "double": double.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "string": string?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "pattern_without_delimiter": patternWithoutDelimiter.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "byte": byte.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "binary": binary?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "date": date?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "dateTime": dateTime?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "password": password?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "callback": callback?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -401,9 +417,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -484,12 +500,12 @@ open class FakeAPI { - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -504,21 +520,23 @@ open class FakeAPI { - GET /fake - To test enum parameters - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional) - - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) - - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) - - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) - - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) - - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) - - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) - - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg) + - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional) + - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg) + - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional) + - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional) + - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar) + - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder { + open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "enum_form_string_array": enumFormStringArray?.encodeToJSON(), - "enum_form_string": enumFormString?.encodeToJSON(), + "enum_form_string_array": enumFormStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_form_string": enumFormString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -526,23 +544,23 @@ open class FakeAPI { var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(), isExplode: false), - "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(), isExplode: false), - "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(), isExplode: false), - "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(), isExplode: false), + "enum_query_string_array": (wrappedValue: enumQueryStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_string": (wrappedValue: enumQueryString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_integer": (wrappedValue: enumQueryInteger?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "enum_query_double": (wrappedValue: enumQueryDouble?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/x-www-form-urlencoded", - "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(), - "enum_header_string": enumHeaderString?.encodeToJSON(), + "enum_header_string_array": enumHeaderStringArray?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "enum_header_string": enumHeaderString?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -554,12 +572,12 @@ open class FakeAPI { - parameter stringGroup: (query) String in group parameters (optional) - parameter booleanGroup: (header) Boolean in group parameters (optional) - parameter int64Group: (query) Integer in group parameters (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -574,48 +592,50 @@ open class FakeAPI { - DELETE /fake - Fake endpoint to test group parameters (optional) - parameter requiredStringGroup: (query) Required String in group parameters - - parameter requiredBooleanGroup: (header) Required Boolean in group parameters - - parameter requiredInt64Group: (query) Required Integer in group parameters - - parameter stringGroup: (query) String in group parameters (optional) - - parameter booleanGroup: (header) Boolean in group parameters (optional) - - parameter int64Group: (query) Integer in group parameters (optional) + - parameter requiredBooleanGroup: (header) Required Boolean in group parameters + - parameter requiredInt64Group: (query) Required Integer in group parameters + - parameter stringGroup: (query) String in group parameters (optional) + - parameter booleanGroup: (header) Boolean in group parameters (optional) + - parameter int64Group: (query) Integer in group parameters (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder { + open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(), isExplode: false), - "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(), isExplode: false), - "string_group": (wrappedValue: stringGroup?.encodeToJSON(), isExplode: false), - "int64_group": (wrappedValue: int64Group?.encodeToJSON(), isExplode: false), + "required_string_group": (wrappedValue: requiredStringGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "required_int64_group": (wrappedValue: requiredInt64Group.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "string_group": (wrappedValue: stringGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "int64_group": (wrappedValue: int64Group?.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ - "required_boolean_group": requiredBooleanGroup.encodeToJSON(), - "boolean_group": booleanGroup?.encodeToJSON(), + "required_boolean_group": requiredBooleanGroup.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "boolean_group": booleanGroup?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** test inline additionalProperties - parameter param: (body) request body - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in + open class func testInlineAdditionalProperties(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testInlineAdditionalPropertiesWithRequestBuilder(param: param, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -629,12 +649,14 @@ open class FakeAPI { test inline additionalProperties - POST /fake/inline-additionalProperties - parameter param: (body) request body + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder { + open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -644,9 +666,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -654,12 +676,12 @@ open class FakeAPI { - parameter param: (form) field1 - parameter param2: (form) field2 - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in + open class func testJsonFormData(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return testJsonFormDataWithRequestBuilder(param: param, param2: param2, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -673,15 +695,17 @@ open class FakeAPI { test json serialization of form data - GET /fake/jsonFormData - parameter param: (form) field1 - - parameter param2: (form) field2 + - parameter param2: (form) field2 + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder { + open class func testJsonFormDataWithRequestBuilder(param: String, param2: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "param": param.encodeToJSON(), - "param2": param2.encodeToJSON(), + "param": param.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "param2": param2.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -695,9 +719,9 @@ open class FakeAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift index 08efc32c8a8..09182e3342a 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift @@ -19,12 +19,12 @@ open class FakeClassnameTags123API { To test class name in snake case - parameter body: (body) client model - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { - return testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func testClassname(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Client?, _ error: Error?) -> Void) -> RequestTask { + return testClassnameWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -42,12 +42,14 @@ open class FakeClassnameTags123API { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) client model + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder { + open class func testClassnameWithRequestBuilder(body: Client, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -57,9 +59,9 @@ open class FakeClassnameTags123API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PATCH", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/PetAPI.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/PetAPI.swift index 2c9fd5b8805..938ecc0c8d3 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/PetAPI.swift @@ -19,12 +19,12 @@ open class PetAPI { Add a new pet to the store - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func addPet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return addPetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -44,12 +44,14 @@ open class PetAPI { - type: apiKey api_key_query (QUERY) - name: api_key_query - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func addPetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func addPetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -59,9 +61,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -69,12 +71,12 @@ open class PetAPI { - parameter petId: (path) Pet id to delete - parameter apiKey: (header) (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in + open class func deletePet(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deletePetWithRequestBuilder(petId: petId, apiKey: apiKey, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -91,28 +93,30 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) Pet id to delete - - parameter apiKey: (header) (optional) + - parameter apiKey: (header) (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil) -> RequestBuilder { + open class func deletePetWithRequestBuilder(petId: Int64, apiKey: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ - "api_key": apiKey?.encodeToJSON(), + "api_key": apiKey?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -128,12 +132,12 @@ open class PetAPI { Finds Pets by status - parameter status: (query) Status values that need to be considered for filter - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in + open class func findPetsByStatus(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByStatusWithRequestBuilder(status: status, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -151,16 +155,18 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter status: (query) Status values that need to be considered for filter + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ - open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus]) -> RequestBuilder<[Pet]> { + open class func findPetsByStatusWithRequestBuilder(status: [Status_findPetsByStatus], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "status": (wrappedValue: status.encodeToJSON(), isExplode: false), + "status": (wrappedValue: status.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -169,22 +175,22 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Finds Pets by tags - parameter tags: (query) Tags to filter by - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @available(*, deprecated, message: "This operation is deprecated.") @discardableResult - open class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { - return findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in + open class func findPetsByTags(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [Pet]?, _ error: Error?) -> Void) -> RequestTask { + return findPetsByTagsWithRequestBuilder(tags: tags, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -202,17 +208,19 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter tags: (query) Tags to filter by + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[Pet]> */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> { + open class func findPetsByTagsWithRequestBuilder(tags: [String], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[Pet]> { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "tags": (wrappedValue: tags.encodeToJSON(), isExplode: false), + "tags": (wrappedValue: tags.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -221,21 +229,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[Pet]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find pet by ID - parameter petId: (path) ID of pet to return - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { - return getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in + open class func getPetById(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Pet?, _ error: Error?) -> Void) -> RequestTask { + return getPetByIdWithRequestBuilder(petId: petId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -253,14 +261,16 @@ open class PetAPI { - type: apiKey api_key (HEADER) - name: api_key - parameter petId: (path) ID of pet to return + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getPetByIdWithRequestBuilder(petId: Int64) -> RequestBuilder { + open class func getPetByIdWithRequestBuilder(petId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -271,21 +281,21 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Update an existing pet - parameter body: (body) Pet object that needs to be added to the store - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func updatePet(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -302,12 +312,14 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter body: (body) Pet object that needs to be added to the store + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithRequestBuilder(body: Pet) -> RequestBuilder { + open class func updatePetWithRequestBuilder(body: Pet, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -317,9 +329,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -328,12 +340,12 @@ open class PetAPI { - parameter petId: (path) ID of pet that needs to be updated - parameter name: (form) Updated name of the pet (optional) - parameter status: (form) Updated status of the pet (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -350,19 +362,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet that needs to be updated - - parameter name: (form) Updated name of the pet (optional) - - parameter status: (form) Updated status of the pet (optional) + - parameter name: (form) Updated name of the pet (optional) + - parameter status: (form) Updated status of the pet (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil) -> RequestBuilder { + open class func updatePetWithFormWithRequestBuilder(petId: Int64, name: String? = nil, status: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "name": name?.encodeToJSON(), - "status": status?.encodeToJSON(), + "name": name?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "status": status?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -376,9 +390,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -387,12 +401,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter additionalMetadata: (form) Additional data to pass to server (optional) - parameter file: (form) file to upload (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -409,19 +423,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter file: (form) file to upload (optional) + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter file: (form) file to upload (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> RequestBuilder { + open class func uploadFileWithRequestBuilder(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "file": file?.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "file": file?.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -435,9 +451,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** @@ -446,12 +462,12 @@ open class PetAPI { - parameter petId: (path) ID of pet to update - parameter requiredFile: (form) file to upload - parameter additionalMetadata: (form) Additional data to pass to server (optional) - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { - return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: ApiResponse?, _ error: Error?) -> Void) -> RequestTask { + return uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -468,19 +484,21 @@ open class PetAPI { - type: oauth2 - name: petstore_auth - parameter petId: (path) ID of pet to update - - parameter requiredFile: (form) file to upload - - parameter additionalMetadata: (form) Additional data to pass to server (optional) + - parameter requiredFile: (form) file to upload + - parameter additionalMetadata: (form) Additional data to pass to server (optional) + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> RequestBuilder { + open class func uploadFileWithRequiredFileWithRequestBuilder(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = "\(APIHelper.mapValueToPathItem(petId))" let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableFormParams: [String: Any?] = [ - "additionalMetadata": additionalMetadata?.encodeToJSON(), - "requiredFile": requiredFile.encodeToJSON(), + "additionalMetadata": additionalMetadata?.encodeToJSON(codableHelper: openAPIClient.codableHelper), + "requiredFile": requiredFile.encodeToJSON(codableHelper: openAPIClient.codableHelper), ] let localVariableNonNullParameters = APIHelper.rejectNil(localVariableFormParams) @@ -494,9 +512,9 @@ open class PetAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift index 822d25fb7cc..fc4de9515ac 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift @@ -19,12 +19,12 @@ open class StoreAPI { Delete purchase order by ID - parameter orderId: (path) ID of the order that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func deleteOrder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteOrderWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -39,14 +39,16 @@ open class StoreAPI { - DELETE /store/order/{order_id} - For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - parameter orderId: (path) ID of the order that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteOrderWithRequestBuilder(orderId: String) -> RequestBuilder { + open class func deleteOrderWithRequestBuilder(orderId: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -57,20 +59,20 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Returns pet inventories by status - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { - return getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in + open class func getInventory(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: [String: Int]?, _ error: Error?) -> Void) -> RequestTask { + return getInventoryWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -87,11 +89,13 @@ open class StoreAPI { - API Key: - type: apiKey api_key (HEADER) - name: api_key + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder<[String: Int]> */ - open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> { + open class func getInventoryWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder<[String: Int]> { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -102,21 +106,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder<[String: Int]>.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: true, openAPIClient: openAPIClient) } /** Find purchase order by ID - parameter orderId: (path) ID of pet that needs to be fetched - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in + open class func getOrderById(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return getOrderByIdWithRequestBuilder(orderId: orderId, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -131,14 +135,16 @@ open class StoreAPI { - GET /store/order/{order_id} - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - parameter orderId: (path) ID of pet that needs to be fetched + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getOrderByIdWithRequestBuilder(orderId: Int64) -> RequestBuilder { + open class func getOrderByIdWithRequestBuilder(orderId: Int64, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = "\(APIHelper.mapValueToPathItem(orderId))" let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -149,21 +155,21 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Place an order for a pet - parameter body: (body) order placed for purchasing the pet - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { - return placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func placeOrder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Order?, _ error: Error?) -> Void) -> RequestTask { + return placeOrderWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -177,12 +183,14 @@ open class StoreAPI { Place an order for a pet - POST /store/order - parameter body: (body) order placed for purchasing the pet + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func placeOrderWithRequestBuilder(body: Order) -> RequestBuilder { + open class func placeOrderWithRequestBuilder(body: Order, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -192,9 +200,9 @@ open class StoreAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/UserAPI.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/UserAPI.swift index df194c0cdd4..67a07957c6a 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/APIs/UserAPI.swift @@ -19,12 +19,12 @@ open class UserAPI { Create user - parameter body: (body) Created user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUser(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUserWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -39,12 +39,14 @@ open class UserAPI { - POST /user - This can only be done by the logged in user. - parameter body: (body) Created user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUserWithRequestBuilder(body: User) -> RequestBuilder { + open class func createUserWithRequestBuilder(body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -54,21 +56,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithArrayInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithArrayInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -82,12 +84,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithArray - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithArrayInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithArrayInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -97,21 +101,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Creates list of users with given input array - parameter body: (body) List of user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in + open class func createUsersWithListInput(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return createUsersWithListInputWithRequestBuilder(body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -125,12 +129,14 @@ open class UserAPI { Creates list of users with given input array - POST /user/createWithList - parameter body: (body) List of user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func createUsersWithListInputWithRequestBuilder(body: [User]) -> RequestBuilder { + open class func createUsersWithListInputWithRequestBuilder(body: [User], openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -140,21 +146,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Delete user - parameter username: (path) The name that needs to be deleted - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func deleteUser(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return deleteUserWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -169,14 +175,16 @@ open class UserAPI { - DELETE /user/{username} - This can only be done by the logged in user. - parameter username: (path) The name that needs to be deleted + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func deleteUserWithRequestBuilder(username: String) -> RequestBuilder { + open class func deleteUserWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -187,21 +195,21 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Get user by user name - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { - return getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in + open class func getUserByName(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: User?, _ error: Error?) -> Void) -> RequestTask { + return getUserByNameWithRequestBuilder(username: username, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -215,14 +223,16 @@ open class UserAPI { Get user by user name - GET /user/{username} - parameter username: (path) The name that needs to be fetched. Use user1 for testing. + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func getUserByNameWithRequestBuilder(username: String) -> RequestBuilder { + open class func getUserByNameWithRequestBuilder(username: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -233,9 +243,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -243,12 +253,12 @@ open class UserAPI { - parameter username: (query) The user name for login - parameter password: (query) The password for login in clear text - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { - return loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in + open class func loginUser(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: String?, _ error: Error?) -> Void) -> RequestTask { + return loginUserWithRequestBuilder(username: username, password: password, openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -263,18 +273,20 @@ open class UserAPI { - GET /user/login - responseHeaders: [X-Rate-Limit(Int), X-Expires-After(Date)] - parameter username: (query) The user name for login - - parameter password: (query) The password for login in clear text + - parameter password: (query) The password for login in clear text + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder { + open class func loginUserWithRequestBuilder(username: String, password: String, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ - "username": (wrappedValue: username.encodeToJSON(), isExplode: false), - "password": (wrappedValue: password.encodeToJSON(), isExplode: false), + "username": (wrappedValue: username.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), + "password": (wrappedValue: password.encodeToJSON(codableHelper: openAPIClient.codableHelper), isExplode: false), ]) let localVariableNillableHeaders: [String: Any?] = [ @@ -283,20 +295,20 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** Logs out current logged in user session - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in + open class func logoutUser(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return logoutUserWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -309,11 +321,13 @@ open class UserAPI { /** Logs out current logged in user session - GET /user/logout + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func logoutUserWithRequestBuilder() -> RequestBuilder { + open class func logoutUserWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -324,9 +338,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } /** @@ -334,12 +348,12 @@ open class UserAPI { - parameter username: (path) name that need to be deleted - parameter body: (body) Updated user object - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { - return updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in + open class func updateUser(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Void?, _ error: Error?) -> Void) -> RequestTask { + return updateUserWithRequestBuilder(username: username, body: body, openAPIClient: openAPIClient).execute { result in switch result { case .success: completion((), nil) @@ -354,16 +368,18 @@ open class UserAPI { - PUT /user/{username} - This can only be done by the logged in user. - parameter username: (path) name that need to be deleted - - parameter body: (body) Updated user object + - parameter body: (body) Updated user object + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func updateUserWithRequestBuilder(username: String, body: User) -> RequestBuilder { + open class func updateUserWithRequestBuilder(username: String, body: User, openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { var localVariablePath = "/user/{username}" let usernamePreEscape = "\(APIHelper.mapValueToPathItem(username))" let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath - let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body) + let localVariableURLString = openAPIClient.basePath + localVariablePath + let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body, codableHelper: openAPIClient.codableHelper) let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -373,9 +389,9 @@ open class UserAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getNonDecodableBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getNonDecodableBuilder() - return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/CodableHelper.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/CodableHelper.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Extensions.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Extensions.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/JSONEncodingHelper.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Models.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Models.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift b/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift index 57d028db89a..801cf3e84fc 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/AppDelegate.swift @@ -18,7 +18,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Override point for customization after application launch. // Customize requestBuilderFactory - PetstoreClientAPI.shared.requestBuilderFactory = BearerRequestBuilderFactory() + OpenAPIClient.shared.requestBuilderFactory = BearerRequestBuilderFactory() return true } diff --git a/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift b/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift index af24485b925..736cb52dc14 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/BearerDecodableRequestBuilder.swift @@ -22,10 +22,10 @@ class BearerRequestBuilderFactory: RequestBuilderFactory { class BearerRequestBuilder: URLSessionRequestBuilder, @unchecked Sendable { @discardableResult - override func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (Result, ErrorResponse>) -> Void) -> RequestTask { + override func execute(completion: @Sendable @escaping (Result, ErrorResponse>) -> Void) -> RequestTask { guard self.requiresAuthentication else { - return super.execute(apiResponseQueue, completion) + return super.execute(completion: completion) } // Before making the request, we can validate if we have a bearer token to be able to make a request @@ -34,7 +34,7 @@ class BearerRequestBuilder: URLSessionRequestBuilder, @unchecked Sendable self.addHeaders(["Authorization": "Bearer \(token)"]) // Here we make the request - super.execute(apiResponseQueue) { result in + super.execute { result in switch result { case .success: @@ -57,7 +57,7 @@ class BearerRequestBuilder: URLSessionRequestBuilder, @unchecked Sendable // If the token was refreshed, it's because it was a 401 error, so we refreshed the token, and we are going to retry the request by calling self.execute() self.addHeaders(["Authorization": "Bearer \(newToken)"]) - self.execute(apiResponseQueue, completion) + self.execute(completion: completion) } else { // If the token was not refreshed, it's because it was not a 401 error, so we send the response to the completion block completion(result) @@ -79,10 +79,10 @@ class BearerRequestBuilder: URLSessionRequestBuilder, @unchecked Sendable class BearerDecodableRequestBuilder: URLSessionDecodableRequestBuilder, @unchecked Sendable { @discardableResult - override func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (Result, ErrorResponse>) -> Void) -> RequestTask { - + override func execute(completion: @Sendable @escaping (Result, ErrorResponse>) -> Void) -> RequestTask { + guard self.requiresAuthentication else { - return super.execute(apiResponseQueue, completion) + return super.execute(completion: completion) } // Before making the request, we can validate if we have a bearer token to be able to make a request @@ -91,7 +91,7 @@ class BearerDecodableRequestBuilder: URLSessionDecodableRequestBui self.addHeaders(["Authorization": "Bearer \(token)"]) // Here we make the request - super.execute(apiResponseQueue) { result in + super.execute { result in switch result { case .success: @@ -114,7 +114,7 @@ class BearerDecodableRequestBuilder: URLSessionDecodableRequestBui // If the token was refreshed, it's because it was a 401 error, so we refreshed the token, and we are going to retry the request by calling self.execute() self.addHeaders(["Authorization": "Bearer \(newToken)"]) - self.execute(apiResponseQueue, completion) + self.execute(completion: completion) } else { // If the token was not refreshed, it's because it was not a 401 error, so we send the response to the completion block completion(result) diff --git a/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift b/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift index 71f81040781..45bcfcaa858 100644 --- a/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift +++ b/samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClientTests/DateFormatTests.swift @@ -47,7 +47,7 @@ class DateFormatTests: XCTestCase { return } - var encodedDate = utcDate.encodeToJSON() as! String + var encodedDate = utcDate.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) // test with a positive timzone offset from UTC @@ -59,7 +59,7 @@ class DateFormatTests: XCTestCase { return } - encodedDate = nonUTCDate1.encodeToJSON() as! String + encodedDate = nonUTCDate1.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) // test with a negative timzone offset from UTC @@ -71,14 +71,14 @@ class DateFormatTests: XCTestCase { return } - encodedDate = nonUTCDate2.encodeToJSON() as! String + encodedDate = nonUTCDate2.encodeToJSON(codableHelper: OpenAPIClient.shared.codableHelper) as! String XCTAssert(encodedDate.hasSuffix("Z")) } func testCodableAlwaysResultsInUTCEncodedDate() throws { - CodableHelper.shared.jsonEncoder.outputFormatting.remove(.prettyPrinted) + OpenAPIClient.shared.codableHelper.jsonEncoder.outputFormatting.remove(.prettyPrinted) let jsonData = "{\"date\":\"1970-01-01T00:00:00.000Z\"}".data(using: .utf8)! - let decodeResult = CodableHelper.shared.decode(DateTest.self, from: jsonData) + let decodeResult = OpenAPIClient.shared.codableHelper.decode(DateTest.self, from: jsonData) _ = try decodeResult.get() var dateComponents = DateComponents() @@ -100,7 +100,7 @@ class DateFormatTests: XCTestCase { } let dateTest = DateTest(date: date) - let encodeResult = CodableHelper.shared.encode(dateTest) + let encodeResult = OpenAPIClient.shared.codableHelper.encode(dateTest) let data = try encodeResult.get() guard let jsonString = String(data: data, encoding: .utf8) else { XCTFail("Unable to convert encoded data to string.") diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs.swift index 9689a1dcb69..4c6750957e0 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs.swift @@ -9,41 +9,62 @@ import Foundation import FoundationNetworking #endif -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() - - public var basePath = "http://localhost" - public var customHeaders: [String: String] = [:] +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: [String: String] public var credential: URLCredential? - public var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory() - public var apiResponseQueue: DispatchQueue = .main + public var requestBuilderFactory: RequestBuilderFactory + public var apiResponseQueue: DispatchQueue + public var codableHelper: CodableHelper + /// Configures the range of HTTP status codes that will result in a successful response /// /// If a HTTP status code is outside of this range the response will be interpreted as failed. - public var successfulStatusCodeRange: Range = 200..<300 + public var successfulStatusCodeRange: Range + + public init( + basePath: String = "http://localhost", + customHeaders: [String: String] = [:], + credential: URLCredential? = nil, + requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory(), + apiResponseQueue: DispatchQueue = .main, + codableHelper: CodableHelper = CodableHelper(), + successfulStatusCodeRange: Range = 200..<300 + ) { + self.basePath = basePath + self.customHeaders = customHeaders + self.credential = credential + self.requestBuilderFactory = requestBuilderFactory + self.apiResponseQueue = apiResponseQueue + self.codableHelper = codableHelper + self.successfulStatusCodeRange = successfulStatusCodeRange + } + + public static let shared = OpenAPIClient() } open class RequestBuilder: @unchecked Sendable { - var credential: URLCredential? - var headers: [String: String] + public var credential: URLCredential? + public var headers: [String: String] public let parameters: [String: Any]? public let method: String public let URLString: String public let requestTask: RequestTask = RequestTask() public let requiresAuthentication: Bool + public let openAPIClient: OpenAPIClient /// Optional block to obtain a reference to the request's progress instance when available. public var onProgressReady: ((Progress) -> Void)? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { self.method = method self.URLString = URLString self.parameters = parameters self.headers = headers self.requiresAuthentication = requiresAuthentication + self.openAPIClient = openAPIClient - addHeaders(PetstoreClientAPI.shared.customHeaders) + addHeaders(openAPIClient.customHeaders) } open func addHeaders(_ aHeaders: [String: String]) { @@ -53,7 +74,7 @@ open class RequestBuilder: @unchecked Sendable { } @discardableResult - open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { return requestTask } @@ -65,7 +86,7 @@ open class RequestBuilder: @unchecked Sendable { } open func addCredential() -> Self { - credential = PetstoreClientAPI.shared.credential + credential = openAPIClient.credential return self } } diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift index 959cca3923e..35d9e52912f 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/APIs/DefaultAPI.swift @@ -14,12 +14,12 @@ open class DefaultAPI { /** - - parameter apiResponseQueue: The queue on which api response is dispatched. + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult - open class func rootGet(apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, completion: @Sendable @escaping (_ data: Banana?, _ error: Error?) -> Void) -> RequestTask { - return rootGetWithRequestBuilder().execute(apiResponseQueue) { result in + open class func rootGet(openAPIClient: OpenAPIClient = OpenAPIClient.shared, completion: @Sendable @escaping (_ data: Banana?, _ error: Error?) -> Void) -> RequestTask { + return rootGetWithRequestBuilder(openAPIClient: openAPIClient).execute { result in switch result { case let .success(response): completion(response.body, nil) @@ -31,11 +31,13 @@ open class DefaultAPI { /** - GET / + + - parameter openAPIClient: The OpenAPIClient that contains the configuration for the http request. - returns: RequestBuilder */ - open class func rootGetWithRequestBuilder() -> RequestBuilder { + open class func rootGetWithRequestBuilder(openAPIClient: OpenAPIClient = OpenAPIClient.shared) -> RequestBuilder { let localVariablePath = "/" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) @@ -46,8 +48,8 @@ open class DefaultAPI { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder.Type = PetstoreClientAPI.shared.requestBuilderFactory.getBuilder() + let localVariableRequestBuilder: RequestBuilder.Type = openAPIClient.requestBuilderFactory.getBuilder() - return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) + return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false, openAPIClient: openAPIClient) } } diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift index a7f28f12a30..b8990f975bc 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift @@ -8,8 +8,7 @@ import Foundation open class CodableHelper: @unchecked Sendable { - private init() {} - public static let shared = CodableHelper() + public init() {} private var customDateFormatter: DateFormatter? private var defaultDateFormatter: DateFormatter = OpenISO8601DateFormatter() diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Extensions.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Extensions.swift index f979c1da785..00d6e4ac90f 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Extensions.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Extensions.swift @@ -13,97 +13,97 @@ import AnyCodable #endif extension Bool: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Float: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int32: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Int64: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Double: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension Decimal: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension String: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension URL: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension UUID: JSONEncodable { - func encodeToJSON() -> Any { self } + func encodeToJSON(codableHelper: CodableHelper) -> Any { self } } extension RawRepresentable where RawValue: JSONEncodable { - func encodeToJSON() -> Any { return self.rawValue } + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.rawValue } } -private func encodeIfPossible(_ object: T) -> Any { +private func encodeIfPossible(_ object: T, codableHelper: CodableHelper) -> Any { if let encodableObject = object as? JSONEncodable { - return encodableObject.encodeToJSON() + return encodableObject.encodeToJSON(codableHelper: codableHelper) } else { return object } } extension Array: JSONEncodable { - func encodeToJSON() -> Any { - return self.map(encodeIfPossible) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return self.map { encodeIfPossible($0, codableHelper: codableHelper) } } } extension Set: JSONEncodable { - func encodeToJSON() -> Any { - return Array(self).encodeToJSON() + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return Array(self).encodeToJSON(codableHelper: codableHelper) } } extension Dictionary: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { var dictionary = [AnyHashable: Any]() for (key, value) in self { - dictionary[key] = encodeIfPossible(value) + dictionary[key] = encodeIfPossible(value, codableHelper: codableHelper) } return dictionary } } extension Data: JSONEncodable { - func encodeToJSON() -> Any { + func encodeToJSON(codableHelper: CodableHelper) -> Any { return self.base64EncodedString(options: Data.Base64EncodingOptions()) } } extension Date: JSONEncodable { - func encodeToJSON() -> Any { - return CodableHelper.shared.dateFormatter.string(from: self) + func encodeToJSON(codableHelper: CodableHelper) -> Any { + return codableHelper.dateFormatter.string(from: self) } } extension JSONEncodable where Self: Encodable { - func encodeToJSON() -> Any { - guard let data = try? CodableHelper.shared.jsonEncoder.encode(self) else { + func encodeToJSON(codableHelper: CodableHelper) -> Any { + guard let data = try? codableHelper.jsonEncoder.encode(self) else { fatalError("Could not encode to json: \(self)") } - return data.encodeToJSON() + return data.encodeToJSON(codableHelper: codableHelper) } } @@ -228,9 +228,3 @@ extension KeyedDecodingContainerProtocol { } } - -extension HTTPURLResponse { - var isStatusCodeSuccessful: Bool { - return PetstoreClientAPI.shared.successfulStatusCodeRange.contains(statusCode) - } -} diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift index 95d1f869db9..c64469f5f3a 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift @@ -9,12 +9,12 @@ import Foundation open class JSONEncodingHelper { - open class func encodingParameters(forEncodableObject encodableObj: T?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: T?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? // Encode the Encodable object if let encodableObj = encodableObj { - let encodeResult = CodableHelper.shared.encode(encodableObj) + let encodeResult = codableHelper.encode(encodableObj) do { let data = try encodeResult.get() params = JSONDataEncoding.encodingParameters(jsonData: data) @@ -26,7 +26,7 @@ open class JSONEncodingHelper { return params } - open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? { + open class func encodingParameters(forEncodableObject encodableObj: Any?, codableHelper: CodableHelper) -> [String: Any]? { var params: [String: Any]? if let encodableObj = encodableObj { diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Models.swift index d2a658c9742..b2ba608a73b 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -10,7 +10,7 @@ import FoundationNetworking #endif protocol JSONEncodable { - func encodeToJSON() -> Any + func encodeToJSON(codableHelper: CodableHelper) -> Any } /// An enum where the last case value can be used as a default catch-all. diff --git a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index d66de982f4d..94f7a040304 100644 --- a/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift6/validation/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -40,12 +40,14 @@ extension URLSession: URLSessionProtocol { extension URLSessionDataTask: URLSessionDataTaskProtocol {} -class URLSessionRequestBuilderFactory: RequestBuilderFactory { - func getNonDecodableBuilder() -> RequestBuilder.Type { +public class URLSessionRequestBuilderFactory: RequestBuilderFactory { + public init() {} + + public func getNonDecodableBuilder() -> RequestBuilder.Type { return URLSessionRequestBuilder.self } - func getBuilder() -> RequestBuilder.Type { + public func getBuilder() -> RequestBuilder.Type { return URLSessionDecodableRequestBuilder.self } } @@ -79,8 +81,8 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { */ public var taskDidReceiveChallenge: PetstoreClientAPIChallengeHandler? - required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool) { - super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication) + required public init(method: String, URLString: String, parameters: [String: Any]?, headers: [String: String] = [:], requiresAuthentication: Bool, openAPIClient: OpenAPIClient = OpenAPIClient.shared) { + super.init(method: method, URLString: URLString, parameters: parameters, headers: headers, requiresAuthentication: requiresAuthentication, openAPIClient: openAPIClient) } /** @@ -126,7 +128,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { } @discardableResult - override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.shared.apiResponseQueue, _ completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { + override open func execute(completion: @Sendable @escaping (_ result: Swift.Result, ErrorResponse>) -> Void) -> RequestTask { let urlSession = createURLSession() guard let xMethod = HTTPMethod(rawValue: method) else { @@ -159,7 +161,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers) let dataTask = urlSession.dataTaskFromProtocol(with: request) { data, response, error in - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { self.processRequestResponse(urlRequest: request, data: data, response: response, error: error, completion: completion) self.cleanupRequest() } @@ -174,7 +176,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { dataTask.resume() } catch { - apiResponseQueue.async { + self.openAPIClient.apiResponseQueue.async { completion(.failure(ErrorResponse.error(415, nil, nil, error))) } } @@ -201,7 +203,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -219,7 +221,7 @@ open class URLSessionRequestBuilder: RequestBuilder, @unchecked Sendable { open func buildHeaders() -> [String: String] { var httpHeaders: [String: String] = [:] - for (key, value) in PetstoreClientAPI.shared.customHeaders { + for (key, value) in openAPIClient.customHeaders { httpHeaders[key] = value } for (key, value) in headers { @@ -294,7 +296,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - guard httpResponse.isStatusCodeSuccessful else { + guard openAPIClient.successfulStatusCodeRange.contains(httpResponse.statusCode) else { completion(.failure(ErrorResponse.error(httpResponse.statusCode, data, response, DecodableRequestBuilderError.unsuccessfulHTTPStatusCode))) return } @@ -362,7 +364,7 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui return } - let decodeResult = CodableHelper.shared.decode(T.self, from: unwrappedData) + let decodeResult = openAPIClient.codableHelper.decode(T.self, from: unwrappedData) switch decodeResult { case let .success(decodableObj): diff --git a/samples/client/petstore/swift6/vaporLibrary/Package.resolved b/samples/client/petstore/swift6/vaporLibrary/Package.resolved index 292efa2d880..43abc9ffe93 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Package.resolved +++ b/samples/client/petstore/swift6/vaporLibrary/Package.resolved @@ -1,160 +1,159 @@ { - "object": { - "pins": [ - { - "package": "AnyCodable", - "repositoryURL": "https://github.com/Flight-School/AnyCodable", - "state": { - "branch": null, - "revision": "56901f2af3625b38924d488b612e95fe8846ee9b", - "version": "0.6.6" - } - }, - { - "package": "async-http-client", - "repositoryURL": "https://github.com/swift-server/async-http-client.git", - "state": { - "branch": null, - "revision": "8e4d51908dd49272667126403bf977c5c503f78f", - "version": "1.5.0" - } - }, - { - "package": "async-kit", - "repositoryURL": "https://github.com/vapor/async-kit.git", - "state": { - "branch": null, - "revision": "c1de408100a2f2e4ab2ea06512e8635bc1a59144", - "version": "1.3.1" - } - }, - { - "package": "console-kit", - "repositoryURL": "https://github.com/vapor/console-kit.git", - "state": { - "branch": null, - "revision": "cfe8bcd58f74ffecb4f536d8237de146b634ecd3", - "version": "4.2.6" - } - }, - { - "package": "multipart-kit", - "repositoryURL": "https://github.com/vapor/multipart-kit.git", - "state": { - "branch": null, - "revision": "c9ea04017b7fb3b1f034ad7a77f8e53d3e080be5", - "version": "4.2.1" - } - }, - { - "package": "routing-kit", - "repositoryURL": "https://github.com/vapor/routing-kit.git", - "state": { - "branch": null, - "revision": "a0801a36a6ad501d5ad6285cbcd4774de6b0a734", - "version": "4.3.0" - } - }, - { - "package": "swift-backtrace", - "repositoryURL": "https://github.com/swift-server/swift-backtrace.git", - "state": { - "branch": null, - "revision": "54a65d6391a1467a896d0d351ff2de6f469ee53c", - "version": "1.2.3" - } - }, - { - "package": "swift-crypto", - "repositoryURL": "https://github.com/apple/swift-crypto.git", - "state": { - "branch": null, - "revision": "3bea268b223651c4ab7b7b9ad62ef9b2d4143eb6", - "version": "1.1.6" - } - }, - { - "package": "swift-log", - "repositoryURL": "https://github.com/apple/swift-log.git", - "state": { - "branch": null, - "revision": "5d66f7ba25daf4f94100e7022febf3c75e37a6c7", - "version": "1.4.2" - } - }, - { - "package": "swift-metrics", - "repositoryURL": "https://github.com/apple/swift-metrics.git", - "state": { - "branch": null, - "revision": "e382458581b05839a571c578e90060fff499f101", - "version": "2.1.1" - } - }, - { - "package": "swift-nio", - "repositoryURL": "https://github.com/apple/swift-nio.git", - "state": { - "branch": null, - "revision": "d79e33308b0ac83326b0ead0ea6446e604b8162d", - "version": "2.30.0" - } - }, - { - "package": "swift-nio-extras", - "repositoryURL": "https://github.com/apple/swift-nio-extras.git", - "state": { - "branch": null, - "revision": "f72c4688f89c28502105509186eadc49a49cb922", - "version": "1.10.0" - } - }, - { - "package": "swift-nio-http2", - "repositoryURL": "https://github.com/apple/swift-nio-http2.git", - "state": { - "branch": null, - "revision": "13b6a7a83864005334818d7ea2a3053869a96c04", - "version": "1.18.0" - } - }, - { - "package": "swift-nio-ssl", - "repositoryURL": "https://github.com/apple/swift-nio-ssl.git", - "state": { - "branch": null, - "revision": "9db7cee4b62c39160a6bd513a47a1ecdcceac18a", - "version": "2.14.0" - } - }, - { - "package": "swift-nio-transport-services", - "repositoryURL": "https://github.com/apple/swift-nio-transport-services.git", - "state": { - "branch": null, - "revision": "39587bceccda72780e2a8a8c5e857e42a9df2fa8", - "version": "1.11.0" - } - }, - { - "package": "vapor", - "repositoryURL": "https://github.com/vapor/vapor", - "state": { - "branch": null, - "revision": "086d0b80f2c3623ffd6b5e32b964ad00b67c2e90", - "version": "4.47.1" - } - }, - { - "package": "websocket-kit", - "repositoryURL": "https://github.com/vapor/websocket-kit.git", - "state": { - "branch": null, - "revision": "a2d26b3de8b3be292f3208d1c74024f76ac503da", - "version": "2.1.3" - } + "originHash" : "304d1886957f380ef5bd7f0063626a4f4aba90401e7b7bdb7cc76683c6164046", + "pins" : [ + { + "identity" : "anycodable", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Flight-School/AnyCodable", + "state" : { + "revision" : "862808b2070cd908cb04f9aafe7de83d35f81b05", + "version" : "0.6.7" } - ] - }, - "version": 1 + }, + { + "identity" : "async-http-client", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swift-server/async-http-client.git", + "state" : { + "revision" : "8e4d51908dd49272667126403bf977c5c503f78f", + "version" : "1.5.0" + } + }, + { + "identity" : "async-kit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vapor/async-kit.git", + "state" : { + "revision" : "c1de408100a2f2e4ab2ea06512e8635bc1a59144", + "version" : "1.3.1" + } + }, + { + "identity" : "console-kit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vapor/console-kit.git", + "state" : { + "revision" : "cfe8bcd58f74ffecb4f536d8237de146b634ecd3", + "version" : "4.2.6" + } + }, + { + "identity" : "multipart-kit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vapor/multipart-kit.git", + "state" : { + "revision" : "c9ea04017b7fb3b1f034ad7a77f8e53d3e080be5", + "version" : "4.2.1" + } + }, + { + "identity" : "routing-kit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vapor/routing-kit.git", + "state" : { + "revision" : "a0801a36a6ad501d5ad6285cbcd4774de6b0a734", + "version" : "4.3.0" + } + }, + { + "identity" : "swift-backtrace", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swift-server/swift-backtrace.git", + "state" : { + "revision" : "54a65d6391a1467a896d0d351ff2de6f469ee53c", + "version" : "1.2.3" + } + }, + { + "identity" : "swift-crypto", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-crypto.git", + "state" : { + "revision" : "3bea268b223651c4ab7b7b9ad62ef9b2d4143eb6", + "version" : "1.1.6" + } + }, + { + "identity" : "swift-log", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-log.git", + "state" : { + "revision" : "5d66f7ba25daf4f94100e7022febf3c75e37a6c7", + "version" : "1.4.2" + } + }, + { + "identity" : "swift-metrics", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-metrics.git", + "state" : { + "revision" : "e382458581b05839a571c578e90060fff499f101", + "version" : "2.1.1" + } + }, + { + "identity" : "swift-nio", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio.git", + "state" : { + "revision" : "d79e33308b0ac83326b0ead0ea6446e604b8162d", + "version" : "2.30.0" + } + }, + { + "identity" : "swift-nio-extras", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio-extras.git", + "state" : { + "revision" : "f72c4688f89c28502105509186eadc49a49cb922", + "version" : "1.10.0" + } + }, + { + "identity" : "swift-nio-http2", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio-http2.git", + "state" : { + "revision" : "13b6a7a83864005334818d7ea2a3053869a96c04", + "version" : "1.18.0" + } + }, + { + "identity" : "swift-nio-ssl", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio-ssl.git", + "state" : { + "revision" : "9db7cee4b62c39160a6bd513a47a1ecdcceac18a", + "version" : "2.14.0" + } + }, + { + "identity" : "swift-nio-transport-services", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio-transport-services.git", + "state" : { + "revision" : "39587bceccda72780e2a8a8c5e857e42a9df2fa8", + "version" : "1.11.0" + } + }, + { + "identity" : "vapor", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vapor/vapor", + "state" : { + "revision" : "086d0b80f2c3623ffd6b5e32b964ad00b67c2e90", + "version" : "4.47.1" + } + }, + { + "identity" : "websocket-kit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vapor/websocket-kit.git", + "state" : { + "revision" : "a2d26b3de8b3be292f3208d1c74024f76ac503da", + "version" : "2.1.3" + } + } + ], + "version" : 3 } diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs.swift index 5ef37297e39..d2c505e66a6 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs.swift @@ -10,13 +10,26 @@ import FoundationNetworking #endif import Vapor -open class PetstoreClientAPI: @unchecked Sendable { - private init() {} - public static let shared = PetstoreClientAPI() +open class OpenAPIClient: @unchecked Sendable { + public var basePath: String + public var customHeaders: HTTPHeaders + public var apiClient: Vapor.Client? + public var apiWrapper: (inout Vapor.ClientRequest) throws -> () + public var contentConfiguration - public var basePath = "http://petstore.swagger.io:80/v2" - public var customHeaders: HTTPHeaders = [:] - public var apiClient: Vapor.Client? = nil - public var apiWrapper: (inout Vapor.ClientRequest) throws -> () = { _ in } - public var contentConfiguration = ContentConfiguration.default() + public init( + basePath: String = "http://petstore.swagger.io:80/v2", + customHeaders: HTTPHeaders = [:], + apiClient: Vapor.Client? = nil, + apiWrapper: (inout Vapor.ClientRequest) throws -> () = { _ in }, + contentConfiguration = ContentConfiguration.default() + ) { + self.basePath = basePath + customHeaders = customHeaders + apiClient = apiClient + apiWrapper = apiWrapper + contentConfiguration = contentConfiguration + } + + public static let shared = OpenAPIClient() } diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift index 1370ff9ffe3..d4005b54758 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/AnotherFakeAPI.swift @@ -21,12 +21,12 @@ open class AnotherFakeAPI { - parameter body: (body) client model - returns: `EventLoopFuture` of `ClientResponse` */ - open class func call123testSpecialTagsRaw(uuidTest: UUID, body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func call123testSpecialTagsRaw(uuidTest: UUID, body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/another-fake/dummy" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PATCH, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -35,7 +35,7 @@ open class AnotherFakeAPI { localVariableRequest.headers.add(name: "uuid_test", value: uuidTest.description) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Client.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: Client.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -54,11 +54,11 @@ open class AnotherFakeAPI { - parameter body: (body) client model - returns: `EventLoopFuture` of `Call123testSpecialTags` */ - open class func call123testSpecialTags(uuidTest: UUID, body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func call123testSpecialTags(uuidTest: UUID, body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return call123testSpecialTagsRaw(uuidTest: uuidTest, body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> Call123testSpecialTags in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Client.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Client.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Client.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Client.defaultContentType)), raw: response) default: return .http0(raw: response) } diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift index 6b755423950..d10f10fdbf5 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeAPI.swift @@ -20,19 +20,19 @@ open class FakeAPI { - parameter xmlItem: (body) XmlItem Body - returns: `EventLoopFuture` of `ClientResponse` */ - open class func createXmlItemRaw(xmlItem: XmlItem, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createXmlItemRaw(xmlItem: XmlItem, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/create_xml_item" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(xmlItem, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: XmlItem.defaultContentType)) + try localVariableRequest.content.encode(xmlItem, using: openAPIClient.contentConfiguration.requireEncoder(for: XmlItem.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -50,7 +50,7 @@ open class FakeAPI { - parameter xmlItem: (body) XmlItem Body - returns: `EventLoopFuture` of `CreateXmlItem` */ - open class func createXmlItem(xmlItem: XmlItem, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createXmlItem(xmlItem: XmlItem, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return createXmlItemRaw(xmlItem: xmlItem, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> CreateXmlItem in switch response.status.code { case 200: @@ -67,12 +67,12 @@ open class FakeAPI { - parameter body: (body) Input boolean as post body (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func fakeOuterBooleanSerializeRaw(body: Bool? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterBooleanSerializeRaw(body: Bool? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/outer/boolean" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -80,7 +80,7 @@ open class FakeAPI { if let localVariableBody = body { - try localVariableRequest.content.encode(localVariableBody, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Bool.defaultContentType)) + try localVariableRequest.content.encode(localVariableBody, using: openAPIClient.contentConfiguration.requireEncoder(for: Bool.defaultContentType)) } try beforeSend(&localVariableRequest) @@ -98,11 +98,11 @@ open class FakeAPI { - parameter body: (body) Input boolean as post body (optional) - returns: `EventLoopFuture` of `FakeOuterBooleanSerialize` */ - open class func fakeOuterBooleanSerialize(body: Bool? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterBooleanSerialize(body: Bool? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return fakeOuterBooleanSerializeRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> FakeOuterBooleanSerialize in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Bool.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Bool.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Bool.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Bool.defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -115,12 +115,12 @@ open class FakeAPI { - parameter body: (body) Input composite as post body (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func fakeOuterCompositeSerializeRaw(body: OuterComposite? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterCompositeSerializeRaw(body: OuterComposite? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/outer/composite" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -128,7 +128,7 @@ open class FakeAPI { if let localVariableBody = body { - try localVariableRequest.content.encode(localVariableBody, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: OuterComposite.defaultContentType)) + try localVariableRequest.content.encode(localVariableBody, using: openAPIClient.contentConfiguration.requireEncoder(for: OuterComposite.defaultContentType)) } try beforeSend(&localVariableRequest) @@ -146,11 +146,11 @@ open class FakeAPI { - parameter body: (body) Input composite as post body (optional) - returns: `EventLoopFuture` of `FakeOuterCompositeSerialize` */ - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return fakeOuterCompositeSerializeRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> FakeOuterCompositeSerialize in switch response.status.code { case 200: - return .http200(value: try response.content.decode(OuterComposite.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: OuterComposite.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(OuterComposite.self, using: openAPIClient.contentConfiguration.requireDecoder(for: OuterComposite.defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -163,12 +163,12 @@ open class FakeAPI { - parameter body: (body) Input number as post body (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func fakeOuterNumberSerializeRaw(body: Double? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterNumberSerializeRaw(body: Double? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/outer/number" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -176,7 +176,7 @@ open class FakeAPI { if let localVariableBody = body { - try localVariableRequest.content.encode(localVariableBody, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Double.defaultContentType)) + try localVariableRequest.content.encode(localVariableBody, using: openAPIClient.contentConfiguration.requireEncoder(for: Double.defaultContentType)) } try beforeSend(&localVariableRequest) @@ -194,11 +194,11 @@ open class FakeAPI { - parameter body: (body) Input number as post body (optional) - returns: `EventLoopFuture` of `FakeOuterNumberSerialize` */ - open class func fakeOuterNumberSerialize(body: Double? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterNumberSerialize(body: Double? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return fakeOuterNumberSerializeRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> FakeOuterNumberSerialize in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Double.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Double.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Double.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Double.defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -211,12 +211,12 @@ open class FakeAPI { - parameter body: (body) Input string as post body (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func fakeOuterStringSerializeRaw(body: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterStringSerializeRaw(body: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/outer/string" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -224,7 +224,7 @@ open class FakeAPI { if let localVariableBody = body { - try localVariableRequest.content.encode(localVariableBody, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: String.defaultContentType)) + try localVariableRequest.content.encode(localVariableBody, using: openAPIClient.contentConfiguration.requireEncoder(for: String.defaultContentType)) } try beforeSend(&localVariableRequest) @@ -242,11 +242,11 @@ open class FakeAPI { - parameter body: (body) Input string as post body (optional) - returns: `EventLoopFuture` of `FakeOuterStringSerialize` */ - open class func fakeOuterStringSerialize(body: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func fakeOuterStringSerialize(body: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return fakeOuterStringSerializeRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> FakeOuterStringSerialize in switch response.status.code { case 200: - return .http200(value: try response.content.decode(String.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: String.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(String.self, using: openAPIClient.contentConfiguration.requireDecoder(for: String.defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -259,19 +259,19 @@ open class FakeAPI { - parameter body: (body) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testBodyWithFileSchemaRaw(body: FileSchemaTestClass, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testBodyWithFileSchemaRaw(body: FileSchemaTestClass, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/body-with-file-schema" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PUT, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FileSchemaTestClass.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: FileSchemaTestClass.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -288,7 +288,7 @@ open class FakeAPI { - parameter body: (body) - returns: `EventLoopFuture` of `TestBodyWithFileSchema` */ - open class func testBodyWithFileSchema(body: FileSchemaTestClass, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testBodyWithFileSchema(body: FileSchemaTestClass, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testBodyWithFileSchemaRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestBodyWithFileSchema in switch response.status.code { case 200: @@ -305,12 +305,12 @@ open class FakeAPI { - parameter body: (body) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testBodyWithQueryParamsRaw(query: String, body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testBodyWithQueryParamsRaw(query: String, body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/body-with-query-params" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PUT, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -324,7 +324,7 @@ open class FakeAPI { } } try localVariableRequest.query.encode(QueryParams(query: query)) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: User.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: User.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -341,7 +341,7 @@ open class FakeAPI { - parameter body: (body) - returns: `EventLoopFuture` of `TestBodyWithQueryParams` */ - open class func testBodyWithQueryParams(query: String, body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testBodyWithQueryParams(query: String, body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testBodyWithQueryParamsRaw(query: query, body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestBodyWithQueryParams in switch response.status.code { case 200: @@ -359,19 +359,19 @@ open class FakeAPI { - parameter body: (body) client model - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testClientModelRaw(body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testClientModelRaw(body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PATCH, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Client.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: Client.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -389,11 +389,11 @@ open class FakeAPI { - parameter body: (body) client model - returns: `EventLoopFuture` of `TestClientModel` */ - open class func testClientModel(body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testClientModel(body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testClientModelRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestClientModel in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Client.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Client.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Client.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Client.defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -423,12 +423,12 @@ open class FakeAPI { - parameter callback: (form) None (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testEndpointParametersRaw(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testEndpointParametersRaw(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -452,7 +452,7 @@ open class FakeAPI { var password: String? var callback: String? } - try localVariableRequest.content.encode(FormParams(integer: integer, int32: int32, int64: int64, number: number, float: float, double: double, string: string, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback), using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) + try localVariableRequest.content.encode(FormParams(integer: integer, int32: int32, int64: int64, number: number, float: float, double: double, string: string, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) try beforeSend(&localVariableRequest) } } @@ -486,7 +486,7 @@ open class FakeAPI { - parameter callback: (form) None (optional) - returns: `EventLoopFuture` of `TestEndpointParameters` */ - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testEndpointParametersRaw(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestEndpointParameters in switch response.status.code { case 400: @@ -580,12 +580,12 @@ open class FakeAPI { - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testEnumParametersRaw(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testEnumParametersRaw(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -614,7 +614,7 @@ open class FakeAPI { var enumFormStringArray: [EnumFormStringArray_testEnumParameters]? var enumFormString: EnumFormString_testEnumParameters? } - try localVariableRequest.content.encode(FormParams(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString), using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) + try localVariableRequest.content.encode(FormParams(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) try beforeSend(&localVariableRequest) } } @@ -639,7 +639,7 @@ open class FakeAPI { - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg) - returns: `EventLoopFuture` of `TestEnumParameters` */ - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testEnumParametersRaw(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestEnumParameters in switch response.status.code { case 400: @@ -664,12 +664,12 @@ open class FakeAPI { - parameter int64Group: (query) Integer in group parameters (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testGroupParametersRaw(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testGroupParametersRaw(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.DELETE, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -715,7 +715,7 @@ open class FakeAPI { - parameter int64Group: (query) Integer in group parameters (optional) - returns: `EventLoopFuture` of `TestGroupParameters` */ - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testGroupParametersRaw(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestGroupParameters in switch response.status.code { case 400: @@ -732,19 +732,19 @@ open class FakeAPI { - parameter param: (body) request body - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testInlineAdditionalPropertiesRaw(param: [String: String], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testInlineAdditionalPropertiesRaw(param: [String: String], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/inline-additionalProperties" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(param, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: [String: String].defaultContentType)) + try localVariableRequest.content.encode(param, using: openAPIClient.contentConfiguration.requireEncoder(for: [String: String].defaultContentType)) try beforeSend(&localVariableRequest) } @@ -761,7 +761,7 @@ open class FakeAPI { - parameter param: (body) request body - returns: `EventLoopFuture` of `TestInlineAdditionalProperties` */ - open class func testInlineAdditionalProperties(param: [String: String], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testInlineAdditionalProperties(param: [String: String], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testInlineAdditionalPropertiesRaw(param: param, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestInlineAdditionalProperties in switch response.status.code { case 200: @@ -779,12 +779,12 @@ open class FakeAPI { - parameter param2: (form) field2 - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testJsonFormDataRaw(param: String, param2: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testJsonFormDataRaw(param: String, param2: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/jsonFormData" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -796,7 +796,7 @@ open class FakeAPI { var param: String var param2: String } - try localVariableRequest.content.encode(FormParams(param: param, param2: param2), using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) + try localVariableRequest.content.encode(FormParams(param: param, param2: param2), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) try beforeSend(&localVariableRequest) } } @@ -813,7 +813,7 @@ open class FakeAPI { - parameter param2: (form) field2 - returns: `EventLoopFuture` of `TestJsonFormData` */ - open class func testJsonFormData(param: String, param2: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testJsonFormData(param: String, param2: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testJsonFormDataRaw(param: param, param2: param2, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestJsonFormData in switch response.status.code { case 200: @@ -834,12 +834,12 @@ open class FakeAPI { - parameter context: (query) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testQueryParameterCollectionFormatRaw(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testQueryParameterCollectionFormatRaw(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake/test-query-parameters" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PUT, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -881,7 +881,7 @@ open class FakeAPI { - parameter context: (query) - returns: `EventLoopFuture` of `TestQueryParameterCollectionFormat` */ - open class func testQueryParameterCollectionFormat(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testQueryParameterCollectionFormat(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testQueryParameterCollectionFormatRaw(pipe: pipe, ioutil: ioutil, http: http, url: url, context: context, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestQueryParameterCollectionFormat in switch response.status.code { case 200: diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift index 433baba24fb..6c31e6ce12d 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift @@ -23,19 +23,19 @@ open class FakeClassnameTags123API { - parameter body: (body) client model - returns: `EventLoopFuture` of `ClientResponse` */ - open class func testClassnameRaw(body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testClassnameRaw(body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/fake_classname_test" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PATCH, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Client.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: Client.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -56,11 +56,11 @@ open class FakeClassnameTags123API { - parameter body: (body) client model - returns: `EventLoopFuture` of `TestClassname` */ - open class func testClassname(body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func testClassname(body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return testClassnameRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> TestClassname in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Client.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Client.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Client.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Client.defaultContentType)), raw: response) default: return .http0(raw: response) } diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/PetAPI.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/PetAPI.swift index ace18b824bb..b8ed2e7ed49 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/PetAPI.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/PetAPI.swift @@ -22,19 +22,19 @@ open class PetAPI { - parameter body: (body) Pet object that needs to be added to the store - returns: `EventLoopFuture` of `ClientResponse` */ - open class func addPetRaw(body: Pet, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func addPetRaw(body: Pet, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Pet.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: Pet.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -55,7 +55,7 @@ open class PetAPI { - parameter body: (body) Pet object that needs to be added to the store - returns: `EventLoopFuture` of `AddPet` */ - open class func addPet(body: Pet, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func addPet(body: Pet, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return addPetRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> AddPet in switch response.status.code { case 200: @@ -78,15 +78,15 @@ open class PetAPI { - parameter apiKey: (header) (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func deletePetRaw(petId: Int64, apiKey: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func deletePetRaw(petId: Int64, apiKey: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/pet/{petId}" let petIdPreEscape = String(describing: petId) let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.DELETE, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -116,7 +116,7 @@ open class PetAPI { - parameter apiKey: (header) (optional) - returns: `EventLoopFuture` of `DeletePet` */ - open class func deletePet(petId: Int64, apiKey: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func deletePet(petId: Int64, apiKey: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return deletePetRaw(petId: petId, apiKey: apiKey, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> DeletePet in switch response.status.code { case 200: @@ -148,12 +148,12 @@ open class PetAPI { - parameter status: (query) Status values that need to be considered for filter - returns: `EventLoopFuture` of `ClientResponse` */ - open class func findPetsByStatusRaw(status: [Status_findPetsByStatus], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func findPetsByStatusRaw(status: [Status_findPetsByStatus], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/pet/findByStatus" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -188,11 +188,11 @@ open class PetAPI { - parameter status: (query) Status values that need to be considered for filter - returns: `EventLoopFuture` of `FindPetsByStatus` */ - open class func findPetsByStatus(status: [Status_findPetsByStatus], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func findPetsByStatus(status: [Status_findPetsByStatus], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return findPetsByStatusRaw(status: status, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> FindPetsByStatus in switch response.status.code { case 200: - return .http200(value: try response.content.decode([Pet].self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: [Pet].defaultContentType)), raw: response) + return .http200(value: try response.content.decode([Pet].self, using: openAPIClient.contentConfiguration.requireDecoder(for: [Pet].defaultContentType)), raw: response) case 400: return .http400(raw: response) default: @@ -212,12 +212,12 @@ open class PetAPI { - returns: `EventLoopFuture` of `ClientResponse` */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTagsRaw(tags: Set, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func findPetsByTagsRaw(tags: Set, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/pet/findByTags" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -253,11 +253,11 @@ open class PetAPI { - returns: `EventLoopFuture` of `FindPetsByTags` */ @available(*, deprecated, message: "This operation is deprecated.") - open class func findPetsByTags(tags: Set, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func findPetsByTags(tags: Set, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return findPetsByTagsRaw(tags: tags, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> FindPetsByTags in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Set.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Set.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Set.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Set.defaultContentType)), raw: response) case 400: return .http400(raw: response) default: @@ -276,15 +276,15 @@ open class PetAPI { - parameter petId: (path) ID of pet to return - returns: `EventLoopFuture` of `ClientResponse` */ - open class func getPetByIdRaw(petId: Int64, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getPetByIdRaw(petId: Int64, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/pet/{petId}" let petIdPreEscape = String(describing: petId) let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -313,11 +313,11 @@ open class PetAPI { - parameter petId: (path) ID of pet to return - returns: `EventLoopFuture` of `GetPetById` */ - open class func getPetById(petId: Int64, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getPetById(petId: Int64, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return getPetByIdRaw(petId: petId, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> GetPetById in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Pet.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Pet.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Pet.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Pet.defaultContentType)), raw: response) case 400: return .http400(raw: response) case 404: @@ -337,19 +337,19 @@ open class PetAPI { - parameter body: (body) Pet object that needs to be added to the store - returns: `EventLoopFuture` of `ClientResponse` */ - open class func updatePetRaw(body: Pet, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func updatePetRaw(body: Pet, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/pet" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PUT, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Pet.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: Pet.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -372,7 +372,7 @@ open class PetAPI { - parameter body: (body) Pet object that needs to be added to the store - returns: `EventLoopFuture` of `UpdatePet` */ - open class func updatePet(body: Pet, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func updatePet(body: Pet, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return updatePetRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> UpdatePet in switch response.status.code { case 200: @@ -400,15 +400,15 @@ open class PetAPI { - parameter status: (form) Updated status of the pet (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func updatePetWithFormRaw(petId: Int64, name: String? = nil, status: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func updatePetWithFormRaw(petId: Int64, name: String? = nil, status: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/pet/{petId}" let petIdPreEscape = String(describing: petId) let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -420,7 +420,7 @@ open class PetAPI { var name: String? var status: String? } - try localVariableRequest.content.encode(FormParams(name: name, status: status), using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) + try localVariableRequest.content.encode(FormParams(name: name, status: status), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) try beforeSend(&localVariableRequest) } } @@ -441,7 +441,7 @@ open class PetAPI { - parameter status: (form) Updated status of the pet (optional) - returns: `EventLoopFuture` of `UpdatePetWithForm` */ - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return updatePetWithFormRaw(petId: petId, name: name, status: status, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> UpdatePetWithForm in switch response.status.code { case 405: @@ -463,15 +463,15 @@ open class PetAPI { - parameter file: (form) file to upload (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func uploadFileRaw(petId: Int64, additionalMetadata: String? = nil, file: Data? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func uploadFileRaw(petId: Int64, additionalMetadata: String? = nil, file: Data? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/pet/{petId}/uploadImage" let petIdPreEscape = String(describing: petId) let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -483,7 +483,7 @@ open class PetAPI { var additionalMetadata: String? var file: Data? } - try localVariableRequest.content.encode(FormParams(additionalMetadata: additionalMetadata, file: file), using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) + try localVariableRequest.content.encode(FormParams(additionalMetadata: additionalMetadata, file: file), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) try beforeSend(&localVariableRequest) } } @@ -504,11 +504,11 @@ open class PetAPI { - parameter file: (form) file to upload (optional) - returns: `EventLoopFuture` of `UploadFile` */ - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: Data? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: Data? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return uploadFileRaw(petId: petId, additionalMetadata: additionalMetadata, file: file, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> UploadFile in switch response.status.code { case 200: - return .http200(value: try response.content.decode(ApiResponse.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: ApiResponse.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(ApiResponse.self, using: openAPIClient.contentConfiguration.requireDecoder(for: ApiResponse.defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -526,15 +526,15 @@ open class PetAPI { - parameter additionalMetadata: (form) Additional data to pass to server (optional) - returns: `EventLoopFuture` of `ClientResponse` */ - open class func uploadFileWithRequiredFileRaw(petId: Int64, requiredFile: Data, additionalMetadata: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func uploadFileWithRequiredFileRaw(petId: Int64, requiredFile: Data, additionalMetadata: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/fake/{petId}/uploadImageWithRequiredFile" let petIdPreEscape = String(describing: petId) let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -546,7 +546,7 @@ open class PetAPI { var additionalMetadata: String? var requiredFile: Data } - try localVariableRequest.content.encode(FormParams(additionalMetadata: additionalMetadata, requiredFile: requiredFile), using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) + try localVariableRequest.content.encode(FormParams(additionalMetadata: additionalMetadata, requiredFile: requiredFile), using: openAPIClient.contentConfiguration.requireEncoder(for: FormParams.defaultContentType)) try beforeSend(&localVariableRequest) } } @@ -567,11 +567,11 @@ open class PetAPI { - parameter additionalMetadata: (form) Additional data to pass to server (optional) - returns: `EventLoopFuture` of `UploadFileWithRequiredFile` */ - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: Data, additionalMetadata: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: Data, additionalMetadata: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return uploadFileWithRequiredFileRaw(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> UploadFileWithRequiredFile in switch response.status.code { case 200: - return .http200(value: try response.content.decode(ApiResponse.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: ApiResponse.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(ApiResponse.self, using: openAPIClient.contentConfiguration.requireDecoder(for: ApiResponse.defaultContentType)), raw: response) default: return .http0(raw: response) } diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift index e48b9d4ec47..7813efb8661 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/StoreAPI.swift @@ -20,15 +20,15 @@ open class StoreAPI { - parameter orderId: (path) ID of the order that needs to be deleted - returns: `EventLoopFuture` of `ClientResponse` */ - open class func deleteOrderRaw(orderId: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func deleteOrderRaw(orderId: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = String(describing: orderId) let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.DELETE, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -53,7 +53,7 @@ open class StoreAPI { - parameter orderId: (path) ID of the order that needs to be deleted - returns: `EventLoopFuture` of `DeleteOrder` */ - open class func deleteOrder(orderId: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func deleteOrder(orderId: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return deleteOrderRaw(orderId: orderId, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> DeleteOrder in switch response.status.code { case 400: @@ -75,12 +75,12 @@ open class StoreAPI { - name: api_key - returns: `EventLoopFuture` of `ClientResponse` */ - open class func getInventoryRaw(headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getInventoryRaw(headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/store/inventory" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -106,11 +106,11 @@ open class StoreAPI { - name: api_key - returns: `EventLoopFuture` of `GetInventory` */ - open class func getInventory(headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getInventory(headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return getInventoryRaw(headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> GetInventory in switch response.status.code { case 200: - return .http200(value: try response.content.decode([String: Int].self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: [String: Int].defaultContentType)), raw: response) + return .http200(value: try response.content.decode([String: Int].self, using: openAPIClient.contentConfiguration.requireDecoder(for: [String: Int].defaultContentType)), raw: response) default: return .http0(raw: response) } @@ -124,15 +124,15 @@ open class StoreAPI { - parameter orderId: (path) ID of pet that needs to be fetched - returns: `EventLoopFuture` of `ClientResponse` */ - open class func getOrderByIdRaw(orderId: Int64, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getOrderByIdRaw(orderId: Int64, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/store/order/{order_id}" let orderIdPreEscape = String(describing: orderId) let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -158,11 +158,11 @@ open class StoreAPI { - parameter orderId: (path) ID of pet that needs to be fetched - returns: `EventLoopFuture` of `GetOrderById` */ - open class func getOrderById(orderId: Int64, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getOrderById(orderId: Int64, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return getOrderByIdRaw(orderId: orderId, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> GetOrderById in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Order.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Order.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Order.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Order.defaultContentType)), raw: response) case 400: return .http400(raw: response) case 404: @@ -179,19 +179,19 @@ open class StoreAPI { - parameter body: (body) order placed for purchasing the pet - returns: `EventLoopFuture` of `ClientResponse` */ - open class func placeOrderRaw(body: Order, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func placeOrderRaw(body: Order, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/store/order" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: Order.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: Order.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -209,11 +209,11 @@ open class StoreAPI { - parameter body: (body) order placed for purchasing the pet - returns: `EventLoopFuture` of `PlaceOrder` */ - open class func placeOrder(body: Order, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func placeOrder(body: Order, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return placeOrderRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> PlaceOrder in switch response.status.code { case 200: - return .http200(value: try response.content.decode(Order.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: Order.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(Order.self, using: openAPIClient.contentConfiguration.requireDecoder(for: Order.defaultContentType)), raw: response) case 400: return .http400(raw: response) default: diff --git a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/UserAPI.swift b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/UserAPI.swift index 95305807360..9c62db02b13 100644 --- a/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/UserAPI.swift +++ b/samples/client/petstore/swift6/vaporLibrary/Sources/PetstoreClient/APIs/UserAPI.swift @@ -20,19 +20,19 @@ open class UserAPI { - parameter body: (body) Created user object - returns: `EventLoopFuture` of `ClientResponse` */ - open class func createUserRaw(body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createUserRaw(body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/user" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: User.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: User.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -49,7 +49,7 @@ open class UserAPI { - parameter body: (body) Created user object - returns: `EventLoopFuture` of `CreateUser` */ - open class func createUser(body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createUser(body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return createUserRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> CreateUser in switch response.status.code { default: @@ -64,19 +64,19 @@ open class UserAPI { - parameter body: (body) List of user object - returns: `EventLoopFuture` of `ClientResponse` */ - open class func createUsersWithArrayInputRaw(body: [User], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createUsersWithArrayInputRaw(body: [User], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/user/createWithArray" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: [User].defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: [User].defaultContentType)) try beforeSend(&localVariableRequest) } @@ -92,7 +92,7 @@ open class UserAPI { - parameter body: (body) List of user object - returns: `EventLoopFuture` of `CreateUsersWithArrayInput` */ - open class func createUsersWithArrayInput(body: [User], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createUsersWithArrayInput(body: [User], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return createUsersWithArrayInputRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> CreateUsersWithArrayInput in switch response.status.code { default: @@ -107,19 +107,19 @@ open class UserAPI { - parameter body: (body) List of user object - returns: `EventLoopFuture` of `ClientResponse` */ - open class func createUsersWithListInputRaw(body: [User], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createUsersWithListInputRaw(body: [User], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/user/createWithList" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.POST, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: [User].defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: [User].defaultContentType)) try beforeSend(&localVariableRequest) } @@ -135,7 +135,7 @@ open class UserAPI { - parameter body: (body) List of user object - returns: `EventLoopFuture` of `CreateUsersWithListInput` */ - open class func createUsersWithListInput(body: [User], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func createUsersWithListInput(body: [User], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return createUsersWithListInputRaw(body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> CreateUsersWithListInput in switch response.status.code { default: @@ -151,15 +151,15 @@ open class UserAPI { - parameter username: (path) The name that needs to be deleted - returns: `EventLoopFuture` of `ClientResponse` */ - open class func deleteUserRaw(username: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func deleteUserRaw(username: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/user/{username}" let usernamePreEscape = String(describing: username) let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.DELETE, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -184,7 +184,7 @@ open class UserAPI { - parameter username: (path) The name that needs to be deleted - returns: `EventLoopFuture` of `DeleteUser` */ - open class func deleteUser(username: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func deleteUser(username: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return deleteUserRaw(username: username, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> DeleteUser in switch response.status.code { case 400: @@ -203,15 +203,15 @@ open class UserAPI { - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - returns: `EventLoopFuture` of `ClientResponse` */ - open class func getUserByNameRaw(username: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getUserByNameRaw(username: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/user/{username}" let usernamePreEscape = String(describing: username) let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -236,11 +236,11 @@ open class UserAPI { - parameter username: (path) The name that needs to be fetched. Use user1 for testing. - returns: `EventLoopFuture` of `GetUserByName` */ - open class func getUserByName(username: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func getUserByName(username: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return getUserByNameRaw(username: username, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> GetUserByName in switch response.status.code { case 200: - return .http200(value: try response.content.decode(User.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: User.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(User.self, using: openAPIClient.contentConfiguration.requireDecoder(for: User.defaultContentType)), raw: response) case 400: return .http400(raw: response) case 404: @@ -259,12 +259,12 @@ open class UserAPI { - parameter password: (query) The password for login in clear text - returns: `EventLoopFuture` of `ClientResponse` */ - open class func loginUserRaw(username: String, password: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func loginUserRaw(username: String, password: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/user/login" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -299,11 +299,11 @@ open class UserAPI { - parameter password: (query) The password for login in clear text - returns: `EventLoopFuture` of `LoginUser` */ - open class func loginUser(username: String, password: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func loginUser(username: String, password: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return loginUserRaw(username: username, password: password, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> LoginUser in switch response.status.code { case 200: - return .http200(value: try response.content.decode(String.self, using: PetstoreClientAPI.shared.contentConfiguration.requireDecoder(for: String.defaultContentType)), raw: response) + return .http200(value: try response.content.decode(String.self, using: openAPIClient.contentConfiguration.requireDecoder(for: String.defaultContentType)), raw: response) case 400: return .http400(raw: response) default: @@ -317,12 +317,12 @@ open class UserAPI { GET /user/logout - returns: `EventLoopFuture` of `ClientResponse` */ - open class func logoutUserRaw(headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func logoutUserRaw(headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { let localVariablePath = "/user/logout" - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.GET, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in @@ -343,7 +343,7 @@ open class UserAPI { GET /user/logout - returns: `EventLoopFuture` of `LogoutUser` */ - open class func logoutUser(headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func logoutUser(headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return logoutUserRaw(headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> LogoutUser in switch response.status.code { default: @@ -360,22 +360,22 @@ open class UserAPI { - parameter body: (body) Updated user object - returns: `EventLoopFuture` of `ClientResponse` */ - open class func updateUserRaw(username: String, body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func updateUserRaw(username: String, body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { var localVariablePath = "/user/{username}" let usernamePreEscape = String(describing: username) let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil) - let localVariableURLString = PetstoreClientAPI.shared.basePath + localVariablePath + let localVariableURLString = openAPIClient.basePath + localVariablePath - guard let localVariableApiClient = PetstoreClientAPI.shared.apiClient else { - fatalError("PetstoreClientAPI.shared.apiClient is not set.") + guard let localVariableApiClient = openAPIClient.apiClient else { + fatalError("openAPIClient.apiClient is not set.") } return localVariableApiClient.send(.PUT, headers: headers, to: URI(string: localVariableURLString)) { localVariableRequest in try Configuration.apiWrapper(&localVariableRequest) - try localVariableRequest.content.encode(body, using: PetstoreClientAPI.shared.contentConfiguration.requireEncoder(for: User.defaultContentType)) + try localVariableRequest.content.encode(body, using: openAPIClient.contentConfiguration.requireEncoder(for: User.defaultContentType)) try beforeSend(&localVariableRequest) } @@ -395,7 +395,7 @@ open class UserAPI { - parameter body: (body) Updated user object - returns: `EventLoopFuture` of `UpdateUser` */ - open class func updateUser(username: String, body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { + open class func updateUser(username: String, body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture { return updateUserRaw(username: username, body: body, headers: headers, beforeSend: beforeSend).flatMapThrowing { response -> UpdateUser in switch response.status.code { case 400: diff --git a/samples/client/petstore/swift6/vaporLibrary/docs/AnotherFakeAPI.md b/samples/client/petstore/swift6/vaporLibrary/docs/AnotherFakeAPI.md index aa669f1fba6..63a2a90a9db 100644 --- a/samples/client/petstore/swift6/vaporLibrary/docs/AnotherFakeAPI.md +++ b/samples/client/petstore/swift6/vaporLibrary/docs/AnotherFakeAPI.md @@ -9,7 +9,7 @@ Method | HTTP request | Description # **call123testSpecialTags** ```swift - open class func call123testSpecialTags(uuidTest: UUID, body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func call123testSpecialTags(uuidTest: UUID, body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` To test special tags diff --git a/samples/client/petstore/swift6/vaporLibrary/docs/FakeAPI.md b/samples/client/petstore/swift6/vaporLibrary/docs/FakeAPI.md index 2cb0e52af6d..141abcefca3 100644 --- a/samples/client/petstore/swift6/vaporLibrary/docs/FakeAPI.md +++ b/samples/client/petstore/swift6/vaporLibrary/docs/FakeAPI.md @@ -22,7 +22,7 @@ Method | HTTP request | Description # **createXmlItem** ```swift - open class func createXmlItem(xmlItem: XmlItem, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func createXmlItem(xmlItem: XmlItem, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` creates an XmlItem @@ -81,7 +81,7 @@ No authorization required # **fakeOuterBooleanSerialize** ```swift - open class func fakeOuterBooleanSerialize(body: Bool? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func fakeOuterBooleanSerialize(body: Bool? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` @@ -139,7 +139,7 @@ No authorization required # **fakeOuterCompositeSerialize** ```swift - open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` @@ -197,7 +197,7 @@ No authorization required # **fakeOuterNumberSerialize** ```swift - open class func fakeOuterNumberSerialize(body: Double? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func fakeOuterNumberSerialize(body: Double? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` @@ -255,7 +255,7 @@ No authorization required # **fakeOuterStringSerialize** ```swift - open class func fakeOuterStringSerialize(body: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func fakeOuterStringSerialize(body: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` @@ -313,7 +313,7 @@ No authorization required # **testBodyWithFileSchema** ```swift - open class func testBodyWithFileSchema(body: FileSchemaTestClass, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testBodyWithFileSchema(body: FileSchemaTestClass, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` @@ -371,7 +371,7 @@ No authorization required # **testBodyWithQueryParams** ```swift - open class func testBodyWithQueryParams(query: String, body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testBodyWithQueryParams(query: String, body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` @@ -429,7 +429,7 @@ No authorization required # **testClientModel** ```swift - open class func testClientModel(body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testClientModel(body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` To test \"client\" model @@ -488,7 +488,7 @@ No authorization required # **testEndpointParameters** ```swift - open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 @@ -575,7 +575,7 @@ public enum TestEndpointParameters { # **testEnumParameters** ```swift - open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` To test enum parameters @@ -650,7 +650,7 @@ No authorization required # **testGroupParameters** ```swift - open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Fake endpoint to test group parameters (optional) @@ -719,7 +719,7 @@ No authorization required # **testInlineAdditionalProperties** ```swift - open class func testInlineAdditionalProperties(param: [String: String], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testInlineAdditionalProperties(param: [String: String], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` test inline additionalProperties @@ -776,7 +776,7 @@ No authorization required # **testJsonFormData** ```swift - open class func testJsonFormData(param: String, param2: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testJsonFormData(param: String, param2: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` test json serialization of form data @@ -835,7 +835,7 @@ No authorization required # **testQueryParameterCollectionFormat** ```swift - open class func testQueryParameterCollectionFormat(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testQueryParameterCollectionFormat(pipe: [String], ioutil: [String], http: [String], url: [String], context: [String], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` diff --git a/samples/client/petstore/swift6/vaporLibrary/docs/FakeClassnameTags123API.md b/samples/client/petstore/swift6/vaporLibrary/docs/FakeClassnameTags123API.md index 7c462ddddbd..386c69d6eb5 100644 --- a/samples/client/petstore/swift6/vaporLibrary/docs/FakeClassnameTags123API.md +++ b/samples/client/petstore/swift6/vaporLibrary/docs/FakeClassnameTags123API.md @@ -9,7 +9,7 @@ Method | HTTP request | Description # **testClassname** ```swift - open class func testClassname(body: Client, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func testClassname(body: Client, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` To test class name in snake case diff --git a/samples/client/petstore/swift6/vaporLibrary/docs/PetAPI.md b/samples/client/petstore/swift6/vaporLibrary/docs/PetAPI.md index 3fc719012eb..df095fec5b2 100644 --- a/samples/client/petstore/swift6/vaporLibrary/docs/PetAPI.md +++ b/samples/client/petstore/swift6/vaporLibrary/docs/PetAPI.md @@ -17,7 +17,7 @@ Method | HTTP request | Description # **addPet** ```swift - open class func addPet(body: Pet, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func addPet(body: Pet, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Add a new pet to the store @@ -76,7 +76,7 @@ public enum AddPet { # **deletePet** ```swift - open class func deletePet(petId: Int64, apiKey: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func deletePet(petId: Int64, apiKey: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Deletes a pet @@ -137,7 +137,7 @@ public enum DeletePet { # **findPetsByStatus** ```swift - open class func findPetsByStatus(status: [Status_findPetsByStatus], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func findPetsByStatus(status: [Status_findPetsByStatus], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Finds Pets by status @@ -198,7 +198,7 @@ public enum FindPetsByStatus { # **findPetsByTags** ```swift - open class func findPetsByTags(tags: Set, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func findPetsByTags(tags: Set, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Finds Pets by tags @@ -259,7 +259,7 @@ public enum FindPetsByTags { # **getPetById** ```swift - open class func getPetById(petId: Int64, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func getPetById(petId: Int64, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Find pet by ID @@ -322,7 +322,7 @@ public enum GetPetById { # **updatePet** ```swift - open class func updatePet(body: Pet, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func updatePet(body: Pet, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Update an existing pet @@ -385,7 +385,7 @@ public enum UpdatePet { # **updatePetWithForm** ```swift - open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Updates a pet in the store with form data @@ -446,7 +446,7 @@ public enum UpdatePetWithForm { # **uploadFile** ```swift - open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: Data? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: Data? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` uploads an image @@ -507,7 +507,7 @@ public enum UploadFile { # **uploadFileWithRequiredFile** ```swift - open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: Data, additionalMetadata: String? = nil, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: Data, additionalMetadata: String? = nil, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` uploads an image (required) diff --git a/samples/client/petstore/swift6/vaporLibrary/docs/StoreAPI.md b/samples/client/petstore/swift6/vaporLibrary/docs/StoreAPI.md index 1feb1b0e0b4..4a439ae3cd9 100644 --- a/samples/client/petstore/swift6/vaporLibrary/docs/StoreAPI.md +++ b/samples/client/petstore/swift6/vaporLibrary/docs/StoreAPI.md @@ -12,7 +12,7 @@ Method | HTTP request | Description # **deleteOrder** ```swift - open class func deleteOrder(orderId: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func deleteOrder(orderId: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Delete purchase order by ID @@ -73,7 +73,7 @@ No authorization required # **getInventory** ```swift - open class func getInventory(headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func getInventory(headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Returns pet inventories by status @@ -128,7 +128,7 @@ public enum GetInventory { # **getOrderById** ```swift - open class func getOrderById(orderId: Int64, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func getOrderById(orderId: Int64, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Find purchase order by ID @@ -191,7 +191,7 @@ No authorization required # **placeOrder** ```swift - open class func placeOrder(body: Order, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func placeOrder(body: Order, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Place an order for a pet diff --git a/samples/client/petstore/swift6/vaporLibrary/docs/UserAPI.md b/samples/client/petstore/swift6/vaporLibrary/docs/UserAPI.md index 83de22729ce..9e6d827cea8 100644 --- a/samples/client/petstore/swift6/vaporLibrary/docs/UserAPI.md +++ b/samples/client/petstore/swift6/vaporLibrary/docs/UserAPI.md @@ -16,7 +16,7 @@ Method | HTTP request | Description # **createUser** ```swift - open class func createUser(body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func createUser(body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Create user @@ -73,7 +73,7 @@ No authorization required # **createUsersWithArrayInput** ```swift - open class func createUsersWithArrayInput(body: [User], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func createUsersWithArrayInput(body: [User], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Creates list of users with given input array @@ -128,7 +128,7 @@ No authorization required # **createUsersWithListInput** ```swift - open class func createUsersWithListInput(body: [User], headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func createUsersWithListInput(body: [User], headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Creates list of users with given input array @@ -183,7 +183,7 @@ No authorization required # **deleteUser** ```swift - open class func deleteUser(username: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func deleteUser(username: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Delete user @@ -244,7 +244,7 @@ No authorization required # **getUserByName** ```swift - open class func getUserByName(username: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func getUserByName(username: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Get user by user name @@ -305,7 +305,7 @@ No authorization required # **loginUser** ```swift - open class func loginUser(username: String, password: String, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func loginUser(username: String, password: String, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Logs user into the system @@ -366,7 +366,7 @@ No authorization required # **logoutUser** ```swift - open class func logoutUser(headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func logoutUser(headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Logs out current logged in user session @@ -417,7 +417,7 @@ No authorization required # **updateUser** ```swift - open class func updateUser(username: String, body: User, headers: HTTPHeaders = PetstoreClientAPI.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture + open class func updateUser(username: String, body: User, headers: HTTPHeaders = OpenAPIClient.shared.customHeaders, beforeSend: (inout ClientRequest) throws -> () = { _ in }) -> EventLoopFuture ``` Updated user