diff --git a/modules/swagger-codegen/src/main/resources/swift3/Models.mustache b/modules/swagger-codegen/src/main/resources/swift3/Models.mustache index db33865ad4a..19edf4da786 100644 --- a/modules/swagger-codegen/src/main/resources/swift3/Models.mustache +++ b/modules/swagger-codegen/src/main/resources/swift3/Models.mustache @@ -126,7 +126,8 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ssZZZZZ", "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ", "yyyy-MM-dd'T'HH:mm:ss'Z'", - "yyyy-MM-dd'T'HH:mm:ss.SSS" + "yyyy-MM-dd'T'HH:mm:ss.SSS", + "yyyy-MM-dd HH:mm:ss" ].map { (format: String) -> DateFormatter in let formatter = DateFormatter() formatter.dateFormat = format @@ -141,7 +142,7 @@ class Decoders { } } } - if let sourceInt = source as? Int { + if let sourceInt = source as? Int64 { // treat as a java date return Date(timeIntervalSince1970: Double(sourceInt / 1000) ) } diff --git a/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models.swift b/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models.swift index cf0d7c99512..2757afd722d 100644 --- a/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models.swift +++ b/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models.swift @@ -126,7 +126,8 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ssZZZZZ", "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ", "yyyy-MM-dd'T'HH:mm:ss'Z'", - "yyyy-MM-dd'T'HH:mm:ss.SSS" + "yyyy-MM-dd'T'HH:mm:ss.SSS", + "yyyy-MM-dd HH:mm:ss" ].map { (format: String) -> DateFormatter in let formatter = DateFormatter() formatter.dateFormat = format @@ -141,7 +142,7 @@ class Decoders { } } } - if let sourceInt = source as? Int { + if let sourceInt = source as? Int64 { // treat as a java date return Date(timeIntervalSince1970: Double(sourceInt / 1000) ) } @@ -284,6 +285,20 @@ class Decoders { } + // Decoder for [ClassModel] + Decoders.addDecoder(clazz: [ClassModel].self) { (source: AnyObject) -> [ClassModel] in + return Decoders.decode(clazz: [ClassModel].self, source: source) + } + // Decoder for ClassModel + Decoders.addDecoder(clazz: ClassModel.self) { (source: AnyObject) -> ClassModel in + let sourceDictionary = source as! [AnyHashable: Any] + + let instance = ClassModel() + instance._class = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["_class"] as AnyObject?) + return instance + } + + // Decoder for [Client] Decoders.addDecoder(clazz: [Client].self) { (source: AnyObject) -> [Client] in return Decoders.decode(clazz: [Client].self, source: source) @@ -371,6 +386,7 @@ class Decoders { instance.enumNumber = EnumTest.EnumNumber(rawValue: (enumNumber)) } + instance.outerEnum = Decoders.decodeOptional(clazz: OuterEnum.self, source: sourceDictionary["outerEnum"] as AnyObject?) return instance } @@ -531,6 +547,21 @@ class Decoders { } + // Decoder for [OuterEnum] + Decoders.addDecoder(clazz: [OuterEnum].self) { (source: AnyObject) -> [OuterEnum] in + return Decoders.decode(clazz: [OuterEnum].self, source: source) + } + // Decoder for OuterEnum + Decoders.addDecoder(clazz: OuterEnum.self) { (source: AnyObject) -> OuterEnum in + if let source = source as? String { + if let result = OuterEnum(rawValue: source) { + return result + } + } + fatalError("Source \(source) is not convertible to enum type OuterEnum: Maybe swagger file is insufficient") + } + + // Decoder for [Pet] Decoders.addDecoder(clazz: [Pet].self) { (source: AnyObject) -> [Pet] in return Decoders.decode(clazz: [Pet].self, source: source) diff --git a/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift b/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift index 03342500961..b3be1c99858 100644 --- a/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift +++ b/samples/client/petstore/swift3/default/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift @@ -24,6 +24,7 @@ open class EnumTest: JSONEncodable { public var enumString: EnumString? public var enumInteger: EnumInteger? public var enumNumber: EnumNumber? + public var outerEnum: OuterEnum? public init() {} @@ -33,6 +34,7 @@ open class EnumTest: JSONEncodable { nillableDictionary["enum_string"] = self.enumString?.rawValue nillableDictionary["enum_integer"] = self.enumInteger?.rawValue nillableDictionary["enum_number"] = self.enumNumber?.rawValue + nillableDictionary["outerEnum"] = self.outerEnum?.encodeToJSON() let dictionary: [String:Any] = APIHelper.rejectNil(nillableDictionary) ?? [:] return dictionary } diff --git a/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models.swift b/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models.swift index cf0d7c99512..2757afd722d 100644 --- a/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models.swift +++ b/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models.swift @@ -126,7 +126,8 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ssZZZZZ", "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ", "yyyy-MM-dd'T'HH:mm:ss'Z'", - "yyyy-MM-dd'T'HH:mm:ss.SSS" + "yyyy-MM-dd'T'HH:mm:ss.SSS", + "yyyy-MM-dd HH:mm:ss" ].map { (format: String) -> DateFormatter in let formatter = DateFormatter() formatter.dateFormat = format @@ -141,7 +142,7 @@ class Decoders { } } } - if let sourceInt = source as? Int { + if let sourceInt = source as? Int64 { // treat as a java date return Date(timeIntervalSince1970: Double(sourceInt / 1000) ) } @@ -284,6 +285,20 @@ class Decoders { } + // Decoder for [ClassModel] + Decoders.addDecoder(clazz: [ClassModel].self) { (source: AnyObject) -> [ClassModel] in + return Decoders.decode(clazz: [ClassModel].self, source: source) + } + // Decoder for ClassModel + Decoders.addDecoder(clazz: ClassModel.self) { (source: AnyObject) -> ClassModel in + let sourceDictionary = source as! [AnyHashable: Any] + + let instance = ClassModel() + instance._class = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["_class"] as AnyObject?) + return instance + } + + // Decoder for [Client] Decoders.addDecoder(clazz: [Client].self) { (source: AnyObject) -> [Client] in return Decoders.decode(clazz: [Client].self, source: source) @@ -371,6 +386,7 @@ class Decoders { instance.enumNumber = EnumTest.EnumNumber(rawValue: (enumNumber)) } + instance.outerEnum = Decoders.decodeOptional(clazz: OuterEnum.self, source: sourceDictionary["outerEnum"] as AnyObject?) return instance } @@ -531,6 +547,21 @@ class Decoders { } + // Decoder for [OuterEnum] + Decoders.addDecoder(clazz: [OuterEnum].self) { (source: AnyObject) -> [OuterEnum] in + return Decoders.decode(clazz: [OuterEnum].self, source: source) + } + // Decoder for OuterEnum + Decoders.addDecoder(clazz: OuterEnum.self) { (source: AnyObject) -> OuterEnum in + if let source = source as? String { + if let result = OuterEnum(rawValue: source) { + return result + } + } + fatalError("Source \(source) is not convertible to enum type OuterEnum: Maybe swagger file is insufficient") + } + + // Decoder for [Pet] Decoders.addDecoder(clazz: [Pet].self) { (source: AnyObject) -> [Pet] in return Decoders.decode(clazz: [Pet].self, source: source) diff --git a/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift b/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift index 03342500961..b3be1c99858 100644 --- a/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift +++ b/samples/client/petstore/swift3/promisekit/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift @@ -24,6 +24,7 @@ open class EnumTest: JSONEncodable { public var enumString: EnumString? public var enumInteger: EnumInteger? public var enumNumber: EnumNumber? + public var outerEnum: OuterEnum? public init() {} @@ -33,6 +34,7 @@ open class EnumTest: JSONEncodable { nillableDictionary["enum_string"] = self.enumString?.rawValue nillableDictionary["enum_integer"] = self.enumInteger?.rawValue nillableDictionary["enum_number"] = self.enumNumber?.rawValue + nillableDictionary["outerEnum"] = self.outerEnum?.encodeToJSON() let dictionary: [String:Any] = APIHelper.rejectNil(nillableDictionary) ?? [:] return dictionary } diff --git a/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models.swift b/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models.swift index cf0d7c99512..2757afd722d 100644 --- a/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models.swift +++ b/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models.swift @@ -126,7 +126,8 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ssZZZZZ", "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ", "yyyy-MM-dd'T'HH:mm:ss'Z'", - "yyyy-MM-dd'T'HH:mm:ss.SSS" + "yyyy-MM-dd'T'HH:mm:ss.SSS", + "yyyy-MM-dd HH:mm:ss" ].map { (format: String) -> DateFormatter in let formatter = DateFormatter() formatter.dateFormat = format @@ -141,7 +142,7 @@ class Decoders { } } } - if let sourceInt = source as? Int { + if let sourceInt = source as? Int64 { // treat as a java date return Date(timeIntervalSince1970: Double(sourceInt / 1000) ) } @@ -284,6 +285,20 @@ class Decoders { } + // Decoder for [ClassModel] + Decoders.addDecoder(clazz: [ClassModel].self) { (source: AnyObject) -> [ClassModel] in + return Decoders.decode(clazz: [ClassModel].self, source: source) + } + // Decoder for ClassModel + Decoders.addDecoder(clazz: ClassModel.self) { (source: AnyObject) -> ClassModel in + let sourceDictionary = source as! [AnyHashable: Any] + + let instance = ClassModel() + instance._class = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["_class"] as AnyObject?) + return instance + } + + // Decoder for [Client] Decoders.addDecoder(clazz: [Client].self) { (source: AnyObject) -> [Client] in return Decoders.decode(clazz: [Client].self, source: source) @@ -371,6 +386,7 @@ class Decoders { instance.enumNumber = EnumTest.EnumNumber(rawValue: (enumNumber)) } + instance.outerEnum = Decoders.decodeOptional(clazz: OuterEnum.self, source: sourceDictionary["outerEnum"] as AnyObject?) return instance } @@ -531,6 +547,21 @@ class Decoders { } + // Decoder for [OuterEnum] + Decoders.addDecoder(clazz: [OuterEnum].self) { (source: AnyObject) -> [OuterEnum] in + return Decoders.decode(clazz: [OuterEnum].self, source: source) + } + // Decoder for OuterEnum + Decoders.addDecoder(clazz: OuterEnum.self) { (source: AnyObject) -> OuterEnum in + if let source = source as? String { + if let result = OuterEnum(rawValue: source) { + return result + } + } + fatalError("Source \(source) is not convertible to enum type OuterEnum: Maybe swagger file is insufficient") + } + + // Decoder for [Pet] Decoders.addDecoder(clazz: [Pet].self) { (source: AnyObject) -> [Pet] in return Decoders.decode(clazz: [Pet].self, source: source) diff --git a/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift b/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift index 03342500961..b3be1c99858 100644 --- a/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift +++ b/samples/client/petstore/swift3/rxswift/PetstoreClient/Classes/Swaggers/Models/EnumTest.swift @@ -24,6 +24,7 @@ open class EnumTest: JSONEncodable { public var enumString: EnumString? public var enumInteger: EnumInteger? public var enumNumber: EnumNumber? + public var outerEnum: OuterEnum? public init() {} @@ -33,6 +34,7 @@ open class EnumTest: JSONEncodable { nillableDictionary["enum_string"] = self.enumString?.rawValue nillableDictionary["enum_integer"] = self.enumInteger?.rawValue nillableDictionary["enum_number"] = self.enumNumber?.rawValue + nillableDictionary["outerEnum"] = self.outerEnum?.encodeToJSON() let dictionary: [String:Any] = APIHelper.rejectNil(nillableDictionary) ?? [:] return dictionary }