diff --git a/bin/configs/swift-combine-petstore-new.yaml b/bin/configs/swift-combine-petstore-new.yaml index 5349e056a5b..2a132fb34e5 100644 --- a/bin/configs/swift-combine-petstore-new.yaml +++ b/bin/configs/swift-combine-petstore-new.yaml @@ -5,3 +5,5 @@ templateDir: modules/openapi-generator/src/main/resources/swift-combine additionalProperties: hideGenerationTimestamp: "true" projectName: "PetstoreOpenAPI" +enumNameMappings: + delivered: shipped diff --git a/bin/configs/swift5-default.yaml b/bin/configs/swift5-default.yaml index fffd318be1a..c419a704699 100644 --- a/bin/configs/swift5-default.yaml +++ b/bin/configs/swift5-default.yaml @@ -8,3 +8,5 @@ additionalProperties: podSummary: PetstoreClient projectName: PetstoreClient podHomepage: https://github.com/openapitools/openapi-generator +enumNameMappings: + delivered: shipped diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java index 77c4e5016db..afec866d600 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java @@ -1027,6 +1027,10 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toEnumVarName(String name, String datatype) { + if (enumNameMapping.containsKey(name)) { + return enumNameMapping.get(name); + } + if (name.length() == 0) { return "empty"; } @@ -1127,6 +1131,10 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toEnumName(CodegenProperty property) { + if (enumNameMapping.containsKey(property.name)) { + return enumNameMapping.get(property.name); + } + String enumName = toModelName(property.name); // Ensure that the enum type doesn't match a reserved word or diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java index 36daf075bbf..fd7e9022f30 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java @@ -575,6 +575,10 @@ public class SwiftCombineClientCodegen extends DefaultCodegen implements Codegen @Override public String toEnumVarName(String name, String datatype) { + if (enumNameMapping.containsKey(name)) { + return enumNameMapping.get(name); + } + if (name.length() == 0) { return "empty"; } @@ -630,6 +634,10 @@ public class SwiftCombineClientCodegen extends DefaultCodegen implements Codegen @Override public String toEnumName(CodegenProperty property) { + if (enumNameMapping.containsKey(property.name)) { + return enumNameMapping.get(property.name); + } + String enumName = toModelName(property.name); // Ensure that the enum type doesn't match a reserved word or diff --git a/samples/client/petstore/swift-combine/client/PetstoreOpenAPI/Sources/Models/Order.swift b/samples/client/petstore/swift-combine/client/PetstoreOpenAPI/Sources/Models/Order.swift index 9a9b4e2bf3b..5bdf9cc1212 100644 --- a/samples/client/petstore/swift-combine/client/PetstoreOpenAPI/Sources/Models/Order.swift +++ b/samples/client/petstore/swift-combine/client/PetstoreOpenAPI/Sources/Models/Order.swift @@ -12,7 +12,7 @@ public struct Order: Codable { public enum Status: String, Codable, CaseIterable { case placed = "placed" case approved = "approved" - case delivered = "delivered" + case shipped = "delivered" } public var id: Int64? public var petId: Int64? diff --git a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/Order.swift b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/Order.swift index bf7da6a3f86..818233c5fce 100644 --- a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/Order.swift +++ b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/Order.swift @@ -15,7 +15,7 @@ public struct Order: Codable, JSONEncodable, Hashable { public enum Status: String, Codable, CaseIterable { case placed = "placed" case approved = "approved" - case delivered = "delivered" + case shipped = "delivered" } public var id: Int64? public var petId: Int64? diff --git a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/OuterEnum.swift b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/OuterEnum.swift index 76c34b3c2ce..a1981c09f18 100644 --- a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/OuterEnum.swift +++ b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models/OuterEnum.swift @@ -13,5 +13,5 @@ import AnyCodable public enum OuterEnum: String, Codable, CaseIterable { case placed = "placed" case approved = "approved" - case delivered = "delivered" + case shipped = "delivered" }