Skip to content

Commit 1fdfbf8

Browse files
committed
[Swift6] Remove QueryStringEncodable for models
1 parent 28daa68 commit 1fdfbf8

448 files changed

Lines changed: 536 additions & 677 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/generators/swift6.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl
5656
|useBacktickEscapes|Escape reserved words using backticks (default: false)| |false|
5757
|useClasses|Use final classes for models instead of structs (default: false)| |false|
5858
|useCustomDateWithoutTime|Uses a custom type to decode and encode dates without time information to support OpenAPIs date format (default: false)| |false|
59-
|useJsonEncodable|Make models conform to JSONEncodable protocol (default: true)| |true|
6059
|useSPMFileStructure|Use SPM file structure and set the source path to Sources/{{projectName}} (default: true).| |null|
6160
|validatable|Make validation rules and validator for model properties (default: true)| |true|
6261

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift6ClientCodegen.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ public class Swift6ClientCodegen extends DefaultCodegen implements CodegenConfig
7272
public static final String GENERATE_MODEL_ADDITIONAL_PROPERTIES = "generateModelAdditionalProperties";
7373
public static final String HASHABLE_MODELS = "hashableModels";
7474
public static final String IDENTIFIABLE_MODELS = "identifiableModels";
75-
public static final String USE_JSON_ENCODABLE = "useJsonEncodable";
7675
public static final String MAP_FILE_BINARY_TO_DATA = "mapFileBinaryToData";
7776
public static final String USE_CUSTOM_DATE_WITHOUT_TIME = "useCustomDateWithoutTime";
7877
public static final String VALIDATABLE = "validatable";
@@ -114,8 +113,6 @@ public class Swift6ClientCodegen extends DefaultCodegen implements CodegenConfig
114113
protected boolean hashableModels = true;
115114
@Setter
116115
protected boolean identifiableModels = true;
117-
@Setter
118-
protected boolean useJsonEncodable = true;
119116
@Getter
120117
@Setter
121118
protected boolean mapFileBinaryToData = false;
@@ -335,10 +332,6 @@ public Swift6ClientCodegen() {
335332
"Make models conform to Identifiable when an id is present (default: true)")
336333
.defaultValue(Boolean.TRUE.toString()));
337334

338-
cliOptions.add(new CliOption(USE_JSON_ENCODABLE,
339-
"Make models conform to JSONEncodable protocol (default: true)")
340-
.defaultValue(Boolean.TRUE.toString()));
341-
342335
cliOptions.add(new CliOption(MAP_FILE_BINARY_TO_DATA,
343336
"Map File and Binary to Data (default: false)")
344337
.defaultValue(Boolean.FALSE.toString()));
@@ -560,11 +553,6 @@ public void processOpts() {
560553
}
561554
additionalProperties.put(IDENTIFIABLE_MODELS, identifiableModels);
562555

563-
if (additionalProperties.containsKey(USE_JSON_ENCODABLE)) {
564-
setUseJsonEncodable(convertPropertyToBooleanAndWriteBack(USE_JSON_ENCODABLE));
565-
}
566-
additionalProperties.put(USE_JSON_ENCODABLE, useJsonEncodable);
567-
568556
if (additionalProperties.containsKey(MAP_FILE_BINARY_TO_DATA)) {
569557
setMapFileBinaryToData(convertPropertyToBooleanAndWriteBack(MAP_FILE_BINARY_TO_DATA));
570558
}

modules/openapi-generator/src/main/resources/swift6/Extensions.mustache

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,6 @@ extension Date: QueryStringEncodable {
100100
func encodeToQueryString(codableHelper: CodableHelper) -> String {
101101
return codableHelper.dateFormatter.string(from: self)
102102
}
103-
}
104-
105-
extension QueryStringEncodable where Self: Encodable {
106-
func encodeToQueryString(codableHelper: CodableHelper) -> String {
107-
guard let data = try? codableHelper.jsonEncoder.encode(self) else {
108-
fatalError("Could not encode to json: \(self)")
109-
}
110-
return data.encodeToQueryString(codableHelper: codableHelper)
111-
}
112103
}{{/useVapor}}{{#generateModelAdditionalProperties}}
113104

114105
extension String: @retroactive CodingKey {

modules/openapi-generator/src/main/resources/swift6/modelEnum.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{classname}}: {{dataType}}, Sendable, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{^isString}}{{^isInteger}}{{^isFloat}}{{^isDouble}}{{#useJsonEncodable}}, QueryStringEncodable{{/useJsonEncodable}}{{/isDouble}}{{/isFloat}}{{/isInteger}}{{/isString}}{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{/enumUnknownDefaultCase}} {
1+
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{classname}}: {{dataType}}, Sendable, QueryStringEncodable, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{/enumUnknownDefaultCase}} {
22
{{#allowableValues}}
33
{{#enumVars}}
44
case {{{name}}} = {{{value}}}

modules/openapi-generator/src/main/resources/swift6/modelInlineEnumDeclaration.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{enumName}}: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}String{{/isContainer}}, Sendable, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{^isContainer}}{{^isString}}{{^isInteger}}{{^isFloat}}{{^isDouble}}{{#useJsonEncodable}}, QueryStringEncodable{{/useJsonEncodable}}{{/isDouble}}{{/isFloat}}{{/isInteger}}{{/isString}}{{/isContainer}}{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{#isContainer}}, CaseIterableDefaultsLast{{/isContainer}}{{/enumUnknownDefaultCase}} {
1+
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{enumName}}: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}String{{/isContainer}}, Sendable, QueryStringEncodable, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{#isContainer}}, CaseIterableDefaultsLast{{/isContainer}}{{/enumUnknownDefaultCase}} {
22
{{#allowableValues}}
33
{{#enumVars}}
44
case {{{name}}} = {{{value}}}

modules/openapi-generator/src/main/resources/swift6/modelObject.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{^useClasses}}Sendable, {{/useClasses}}{{#useClasses}}{{#readonlyProperties}}@unchecked Sendable, {{/readonlyProperties}}{{/useClasses}}{{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#useJsonEncodable}}, QueryStringEncodable{{/useJsonEncodable}}{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} {
2-
{{/objcCompatible}}{{#objcCompatible}}@objcMembers {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable{{#useJsonEncodable}}, QueryStringEncodable{{/useJsonEncodable}} {
1+
{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{^useClasses}}Sendable, {{/useClasses}}{{#useClasses}}{{#readonlyProperties}}@unchecked Sendable, {{/readonlyProperties}}{{/useClasses}}{{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} {
2+
{{/objcCompatible}}{{#objcCompatible}}@objcMembers {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable {
33
{{/objcCompatible}}
44

55
{{#allVars}}

modules/openapi-generator/src/main/resources/swift6/modelOneOf.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{classname}}: {{^useClasses}}Sendable, {{/useClasses}}{{#useClasses}}{{#readonlyProperties}}Sendable, {{/readonlyProperties}}{{/useClasses}}{{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#useJsonEncodable}}, QueryStringEncodable{{/useJsonEncodable}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}}{{/useVapor}} {
1+
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{classname}}: {{^useClasses}}Sendable, {{/useClasses}}{{#useClasses}}{{#readonlyProperties}}Sendable, {{/readonlyProperties}}{{/useClasses}}{{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}}{{/useVapor}} {
22
{{#oneOf}}
33
case type{{#transformArrayType}}{{.}}{{/transformArrayType}}({{.}})
44
{{/oneOf}}

modules/openapi-generator/src/test/java/org/openapitools/codegen/options/Swift6ClientCodegenOptionsProvider.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ public class Swift6ClientCodegenOptionsProvider implements OptionsProvider {
4848
public static final String GENERATE_MODEL_ADDITIONAL_PROPERTIES_VALUE = "true";
4949
public static final String HASHABLE_MODELS_VALUE = "true";
5050
public static final String IDENTIFIABLE_MODELS_VALUE = "true";
51-
public static final String USE_JSON_ENCODABLE_VALUE = "true";
5251
public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false";
5352
public static final String PREPEND_FORM_OR_BODY_PARAMETERS_VALUE = "true";
5453
public static final String LIBRARY_VALUE = "alamofire";
@@ -99,7 +98,6 @@ public Map<String, String> createOptions() {
9998
GENERATE_MODEL_ADDITIONAL_PROPERTIES_VALUE)
10099
.put(Swift6ClientCodegen.HASHABLE_MODELS, HASHABLE_MODELS_VALUE)
101100
.put(Swift6ClientCodegen.IDENTIFIABLE_MODELS, IDENTIFIABLE_MODELS_VALUE)
102-
.put(Swift6ClientCodegen.USE_JSON_ENCODABLE, USE_JSON_ENCODABLE_VALUE)
103101
.put(Swift6ClientCodegen.MAP_FILE_BINARY_TO_DATA, "false")
104102
.put(Swift6ClientCodegen.USE_CUSTOM_DATE_WITHOUT_TIME, "false")
105103
.put(Swift6ClientCodegen.VALIDATABLE, "true")

samples/client/petstore/swift6/alamofireLibrary/Sources/PetstoreClient/Infrastructure/Extensions.swift

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,6 @@ extension Date: QueryStringEncodable {
100100
}
101101
}
102102

103-
extension QueryStringEncodable where Self: Encodable {
104-
func encodeToQueryString(codableHelper: CodableHelper) -> String {
105-
guard let data = try? codableHelper.jsonEncoder.encode(self) else {
106-
fatalError("Could not encode to json: \(self)")
107-
}
108-
return data.encodeToQueryString(codableHelper: codableHelper)
109-
}
110-
}
111-
112103
extension String: @retroactive CodingKey {
113104

114105
public var stringValue: String {

samples/client/petstore/swift6/alamofireLibrary/Sources/PetstoreClient/Models/AdditionalPropertiesClass.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import Foundation
99

10-
public struct AdditionalPropertiesClass: Sendable, Codable, QueryStringEncodable, Hashable {
10+
public struct AdditionalPropertiesClass: Sendable, Codable, Hashable {
1111

1212
public var mapString: [String: String]?
1313
public var mapMapString: [String: [String: String]]?

0 commit comments

Comments
 (0)