Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions modules/swagger-codegen/src/main/resources/swift3/APIs.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ open class RequestBuilder<T> {
let isBody: Bool
let method: String
let URLString: String

/// Optional block to obtain a reference to the request's progress instance when available.
public var onProgressReady: ((Progress) -> ())?

Expand All @@ -45,16 +45,16 @@ open class RequestBuilder<T> {
self.URLString = URLString
self.parameters = parameters
self.isBody = isBody

addHeaders({{projectName}}API.customHeaders)
}

open func addHeaders(_ aHeaders:[String:String]) {
for (header, value) in aHeaders {
headers[header] = value
}
}

open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) { }

public func addHeader(name: String, value: String) -> Self {
Expand All @@ -63,7 +63,7 @@ open class RequestBuilder<T> {
}
return self
}

open func addCredential() -> Self {
self.credential = {{projectName}}API.credential
return self
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
// NSNull would crash decoders
if response.response?.statusCode == 204 && response.result.value is NSNull{
completion(nil, nil)
return;
return
}

if () is T {
Expand Down
17 changes: 7 additions & 10 deletions modules/swagger-codegen/src/main/resources/swift3/Models.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,8 @@ public extension Decoded {
switch self {
case let .success(value):
return value
break
case .failure:
return nil
break
}
}
}
Expand All @@ -71,7 +69,7 @@ class Decoders {
}

static func decode<T>(clazz: T.Type, discriminator: String, source: AnyObject) -> Decoded<T> {
let key = discriminator;
let key = discriminator
if let decoder = decoders[key], let value = decoder(source) as? Decoded<T> {
return value
} else {
Expand All @@ -88,7 +86,6 @@ class Decoders {
values.append(value)
case let .failure(error):
return .failure(error)
break
}
}
return .success(values)
Expand All @@ -104,7 +101,6 @@ class Decoders {
switch Decoders.decode(clazz: T.self, source: value) {
case let .success(value):
dictionary[key] = value
break
case let .failure(error):
return .failure(error)
}
Expand All @@ -114,8 +110,9 @@ class Decoders {
return .failure(.typeMismatch(expected: String(describing: clazz), actual: String(describing: source)))
}
}

static func decodeOptional<T: RawRepresentable>(clazz: T.Type, source: AnyObject?) -> Decoded<T?> {
guard !(source is NSNull), source != nil else { return .success(nil) }
if let value = source as? T.RawValue {
if let enumValue = T.init(rawValue: value) {
return .success(enumValue)
Expand All @@ -126,7 +123,7 @@ class Decoders {
return .failure(.typeMismatch(expected: "\(T.RawValue.self) matching a case from the enumeration \(T.self)", actual: String(describing: type(of: source))))
}
}

static func decode<T>(clazz: T.Type, source: AnyObject) -> Decoded<T> {
initialize()
if let value = source.int32Value as? T, source is NSNumber, T.self is Int32.Type {
Expand Down Expand Up @@ -157,7 +154,7 @@ class Decoders {
static func toOptional<T>(decoded: Decoded<T>) -> Decoded<T?> {
return .success(decoded.value)
}

static func decodeOptional<T>(clazz: T.Type, source: AnyObject?) -> Decoded<T?> {
if let source = source, !(source is NSNull) {
switch Decoders.decode(clazz: clazz, source: source) {
Expand Down Expand Up @@ -198,7 +195,7 @@ class Decoders {
return .success(nil)
}
}

static func decodeOptional<T: RawRepresentable, U: AnyObject where T.RawValue == U>(clazz: T, source: AnyObject) -> Decoded<T?> {
if let value = source as? U {
if let enumValue = T.init(rawValue: value) {
Expand Down Expand Up @@ -244,7 +241,7 @@ class Decoders {
return .failure(.typeMismatch(expected: "String or Int", actual: "\(source)"))
}
}

// Decoder for ISOFullDate
Decoders.addDecoder(clazz: ISOFullDate.self) { (source: AnyObject) -> Decoded<ISOFullDate> in
if let string = source as? String,
Expand Down
10 changes: 5 additions & 5 deletions modules/swagger-codegen/src/main/resources/swift3/api.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ open class {{classname}}: APIBase {
- 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 completion: completion handler to receive the data and the error objects
*/
open class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}{{#hasParams}}, {{/hasParams}}completion: @escaping ((_ {{#returnType}}data: {{{returnType}}}?,_ {{/returnType}}error: ErrorResponse?) -> Void)) {
open class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}{{#hasParams}}, {{/hasParams}}completion: @escaping ((_ {{#returnType}}data: {{{returnType}}}?, _ {{/returnType}}error: ErrorResponse?) -> Void)) {
{{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}).execute { (response, error) -> Void in
completion({{#returnType}}response?.body, {{/returnType}}error);
completion({{#returnType}}response?.body, {{/returnType}}error)
}
}

Expand Down Expand Up @@ -114,11 +114,11 @@ open class {{classname}}: APIBase {
]{{/hasMore}}{{/formParams}}{{/queryParams}}{{#queryParams}}{{^secondaryParam}}[{{/secondaryParam}}
{{> _param}}{{#hasMore}},{{/hasMore}}{{^hasMore}}
]{{/hasMore}}{{/queryParams}}

let parameters = APIHelper.rejectNil(nillableParameters){{/bodyParam}}

let convertedParameters = APIHelper.convertBoolToString(parameters)

let requestBuilder: RequestBuilder<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.Type = {{projectName}}API.requestBuilderFactory.getBuilder()

return requestBuilder.init(method: "{{httpMethod}}", URLString: URLString, parameters: convertedParameters, isBody: {{^queryParams}}{{^formParams}}true{{/formParams}}{{/queryParams}}{{#queryParams}}{{^formParams}}{{^secondaryParam}}false{{/secondaryParam}}{{/formParams}}{{/queryParams}}{{#formParams}}{{^secondaryParam}}false{{/secondaryParam}}{{/formParams}})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ open class RequestBuilder<T> {
let isBody: Bool
let method: String
let URLString: String

/// Optional block to obtain a reference to the request's progress instance when available.
public var onProgressReady: ((Progress) -> ())?

Expand All @@ -45,16 +45,16 @@ open class RequestBuilder<T> {
self.URLString = URLString
self.parameters = parameters
self.isBody = isBody

addHeaders(PetstoreClientAPI.customHeaders)
}

open func addHeaders(_ aHeaders:[String:String]) {
for (header, value) in aHeaders {
headers[header] = value
}
}

open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) { }

public func addHeader(name: String, value: String) -> Self {
Expand All @@ -63,7 +63,7 @@ open class RequestBuilder<T> {
}
return self
}

open func addCredential() -> Self {
self.credential = PetstoreClientAPI.credential
return self
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ open class FakeAPI: APIBase {
- parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects
*/
open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?, _ error: ErrorResponse?) -> Void)) {
testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error);
completion(response?.body, error)
}
}

Expand All @@ -27,9 +27,9 @@ open class FakeAPI: APIBase {
To test \"client\" model
- PATCH /fake
- To test \"client\" model
- examples: [{contentType=application/json, example={
- examples: [{example={
"client" : "aeiou"
}}]
}, contentType=application/json}]

- parameter body: (body) client model

Expand All @@ -39,9 +39,9 @@ open class FakeAPI: APIBase {
let path = "/fake"
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON() as? [String:AnyObject]

let convertedParameters = APIHelper.convertBoolToString(parameters)

let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

return requestBuilder.init(method: "PATCH", URLString: URLString, parameters: convertedParameters, isBody: true)
Expand All @@ -68,7 +68,7 @@ open class FakeAPI: APIBase {
*/
open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
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 { (response, error) -> Void in
completion(error);
completion(error)
}
}

Expand Down Expand Up @@ -118,11 +118,11 @@ open class FakeAPI: APIBase {
"password": password,
"callback": callback
]

let parameters = APIHelper.rejectNil(nillableParameters)

let convertedParameters = APIHelper.convertBoolToString(parameters)

let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

return requestBuilder.init(method: "POST", URLString: URLString, parameters: convertedParameters, isBody: false)
Expand Down Expand Up @@ -175,7 +175,7 @@ open class FakeAPI: APIBase {
*/
open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in
completion(error);
completion(error)
}
}

Expand Down Expand Up @@ -203,11 +203,11 @@ open class FakeAPI: APIBase {
"enum_query_string": enumQueryString?.rawValue,
"enum_query_integer": enumQueryInteger?.encodeToJSON()
]

let parameters = APIHelper.rejectNil(nillableParameters)

let convertedParameters = APIHelper.convertBoolToString(parameters)

let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

return requestBuilder.init(method: "GET", URLString: URLString, parameters: convertedParameters, isBody: false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ open class Fake_classname_tags123API: APIBase {
- parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects
*/
open class func testClassname(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
open class func testClassname(body: Client, completion: @escaping ((_ data: Client?, _ error: ErrorResponse?) -> Void)) {
testClassnameWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error);
completion(response?.body, error)
}
}


/**
To test class name in snake case
- PATCH /fake_classname_test
- examples: [{contentType=application/json, example={
- examples: [{example={
"client" : "aeiou"
}}]
}, contentType=application/json}]

- parameter body: (body) client model

Expand All @@ -38,9 +38,9 @@ open class Fake_classname_tags123API: APIBase {
let path = "/fake_classname_test"
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON() as? [String:AnyObject]

let convertedParameters = APIHelper.convertBoolToString(parameters)

let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

return requestBuilder.init(method: "PATCH", URLString: URLString, parameters: convertedParameters, isBody: true)
Expand Down
Loading