[kotlin] Enum should match spec (#18062)

* [kotlin] Enum should match spec

Adjust the enum generation to match what is in the spec, rather than
camel-casing it.
Add tests for capitalization scenarios, including for kotlin keywords

* [kotlin] export docs generators for enum change

* [kotlin] export docs generators for enum change

* fix conflicts

---------

Co-authored-by: Tyler B. Thrailkill <tylerbthrailkill@gmail.com>
Co-authored-by: Jari Nystedt <jari.nystedt@tietoevry.com>
This commit is contained in:
William Cheng 2024-03-09 17:42:33 +08:00 committed by GitHub
parent 81e33ede6e
commit 494fc7d182
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
40 changed files with 336 additions and 117 deletions

View File

@ -22,7 +22,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|apiSuffix|suffix for api classes| |Api| |apiSuffix|suffix for api classes| |Api|
|artifactId|Generated artifact id (name of jar).| |kotlin-server| |artifactId|Generated artifact id (name of jar).| |kotlin-server|
|artifactVersion|Generated artifact's package version.| |1.0.0| |artifactVersion|Generated artifact's package version.| |1.0.0|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|featureAutoHead|Automatically provide responses to HEAD requests for existing routes that have the GET verb defined.| |true| |featureAutoHead|Automatically provide responses to HEAD requests for existing routes that have the GET verb defined.| |true|
|featureCORS|Ktor by default provides an interceptor for implementing proper support for Cross-Origin Resource Sharing (CORS). See enable-cors.org.| |false| |featureCORS|Ktor by default provides an interceptor for implementing proper support for Cross-Origin Resource Sharing (CORS). See enable-cors.org.| |false|
|featureCompression|Adds ability to compress outgoing content using gzip, deflate or custom encoder and thus reduce size of the response.| |true| |featureCompression|Adds ability to compress outgoing content using gzip, deflate or custom encoder and thus reduce size of the response.| |true|

View File

@ -30,7 +30,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|configPackage|configuration package for generated code| |org.openapitools.configuration| |configPackage|configuration package for generated code| |org.openapitools.configuration|
|delegatePattern|Whether to generate the server files using the delegate pattern| |false| |delegatePattern|Whether to generate the server files using the delegate pattern| |false|
|documentationProvider|Select the OpenAPI documentation provider.|<dl><dt>**none**</dt><dd>Do not publish an OpenAPI specification.</dd><dt>**source**</dt><dd>Publish the original input OpenAPI specification.</dd><dt>**springfox**</dt><dd>Generate an OpenAPI 2 (fka Swagger RESTful API Documentation Specification) specification using SpringFox 2.x. Deprecated (for removal); use springdoc instead.</dd><dt>**springdoc**</dt><dd>Generate an OpenAPI 3 specification using SpringDoc.</dd></dl>|springdoc| |documentationProvider|Select the OpenAPI documentation provider.|<dl><dt>**none**</dt><dd>Do not publish an OpenAPI specification.</dd><dt>**source**</dt><dd>Publish the original input OpenAPI specification.</dd><dt>**springfox**</dt><dd>Generate an OpenAPI 2 (fka Swagger RESTful API Documentation Specification) specification using SpringFox 2.x. Deprecated (for removal); use springdoc instead.</dd><dt>**springdoc**</dt><dd>Generate an OpenAPI 3 specification using SpringDoc.</dd></dl>|springdoc|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|exceptionHandler|generate default global exception handlers (not compatible with reactive. enabling reactive will disable exceptionHandler )| |true| |exceptionHandler|generate default global exception handlers (not compatible with reactive. enabling reactive will disable exceptionHandler )| |true|
|gradleBuildFile|generate a gradle build file using the Kotlin DSL| |true| |gradleBuildFile|generate a gradle build file using the Kotlin DSL| |true|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools| |groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|

View File

@ -22,7 +22,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|apiSuffix|suffix for api classes| |Api| |apiSuffix|suffix for api classes| |Api|
|artifactId|Generated artifact id (name of jar).| |null| |artifactId|Generated artifact id (name of jar).| |null|
|artifactVersion|Generated artifact's package version.| |1.0.0| |artifactVersion|Generated artifact's package version.| |1.0.0|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools| |groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|modelMutable|Create mutable models| |false| |modelMutable|Create mutable models| |false|
|packageName|Generated artifact package name.| |org.openapitools| |packageName|Generated artifact package name.| |org.openapitools|

View File

@ -24,7 +24,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|artifactVersion|Generated artifact's package version.| |1.0.0| |artifactVersion|Generated artifact's package version.| |1.0.0|
|collectionType|Option. Collection type to use|<dl><dt>**array**</dt><dd>kotlin.Array</dd><dt>**list**</dt><dd>kotlin.collections.List</dd></dl>|list| |collectionType|Option. Collection type to use|<dl><dt>**array**</dt><dd>kotlin.Array</dd><dt>**list**</dt><dd>kotlin.collections.List</dd></dl>|list|
|dateLibrary|Option. Date library to use|<dl><dt>**threetenbp-localdatetime**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, for legacy app only)</dd><dt>**kotlinx-datetime**</dt><dd>kotlinx-datetime (preferred for multiplatform)</dd><dt>**string**</dt><dd>String</dd><dt>**java8-localdatetime**</dt><dd>Java 8 native JSR310 (jvm only, for legacy app only)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)</dd><dt>**threetenbp**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, preferred for jdk &lt; 1.8)</dd></dl>|java8| |dateLibrary|Option. Date library to use|<dl><dt>**threetenbp-localdatetime**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, for legacy app only)</dd><dt>**kotlinx-datetime**</dt><dd>kotlinx-datetime (preferred for multiplatform)</dd><dt>**string**</dt><dd>String</dd><dt>**java8-localdatetime**</dt><dd>Java 8 native JSR310 (jvm only, for legacy app only)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)</dd><dt>**threetenbp**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, preferred for jdk &lt; 1.8)</dd></dl>|java8|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|generateRoomModels|Generate Android Room database models in addition to API models (JVM Volley library only)| |false| |generateRoomModels|Generate Android Room database models in addition to API models (JVM Volley library only)| |false|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools| |groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|idea|Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.| |false| |idea|Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.| |false|

View File

@ -23,7 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|artifactId|Generated artifact id (name of jar).| |ktorm| |artifactId|Generated artifact id (name of jar).| |ktorm|
|artifactVersion|Generated artifact's package version.| |1.0.0| |artifactVersion|Generated artifact's package version.| |1.0.0|
|defaultDatabaseName|Default database name for all queries| |sqlite.db| |defaultDatabaseName|Default database name for all queries| |sqlite.db|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools| |groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|identifierNamingConvention|Naming convention of Ktorm identifiers(table names and column names). This is not related to database name which is defined by defaultDatabaseName option|<dl><dt>**original**</dt><dd>Do not transform original names</dd><dt>**snake_case**</dt><dd>Use snake_case names</dd></dl>|original| |identifierNamingConvention|Naming convention of Ktorm identifiers(table names and column names). This is not related to database name which is defined by defaultDatabaseName option|<dl><dt>**original**</dt><dd>Do not transform original names</dd><dt>**snake_case**</dt><dd>Use snake_case names</dd></dl>|original|
|importModelPackageName|Package name of the imported models| |org.openapitools.database.models| |importModelPackageName|Package name of the imported models| |org.openapitools.database.models|

View File

@ -76,7 +76,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
protected boolean nonPublicApi = false; protected boolean nonPublicApi = false;
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming = CodegenConstants.ENUM_PROPERTY_NAMING_TYPE.camelCase; protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming = CodegenConstants.ENUM_PROPERTY_NAMING_TYPE.original;
// model classes cannot use the same property names defined in HashMap // model classes cannot use the same property names defined in HashMap
// ref: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-hash-map/ // ref: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-hash-map/

View File

@ -9,20 +9,38 @@
{{unescapedDescription}} {{unescapedDescription}}
{{^allowableValues}}
[.fields-{{classname}}] [.fields-{{classname}}]
[cols="2,1,2,4,1"] [cols="2,1,1,2,4,1"]
|=== |===
| Field Name| Required| Type| Description| Format | Field Name| Required| Nullable | Type| Description | Format
{{#vars}} {{#vars}}
| {{baseName}} | {{baseName}}
| {{#required}}X{{/required}} | {{#required}}X{{/required}}
| {{dataType}} {{#isContainer}} of <<{{complexType}}>>{{/isContainer}} | {{#isNullable}}X{{/isNullable}}
| {{#isModel}}<<{{ dataType }}>>{{/isModel}} {{^container}}{{^allowableValues}} {{^isModel}}{{ dataType }}{{/isModel}}{{/allowableValues}}{{#allowableValues}}{{^allowableValues.empty}}<<{{ dataType }}>>{{/allowableValues.empty}}{{/allowableValues}} {{/container}} {{#isContainer}} of <<{{complexType}}>>{{/isContainer}}
| {{description}} | {{description}}
| {{{dataFormat}}} {{#isEnum}}_Enum:_ {{#_enum}}{{this}}, {{/_enum}}{{/isEnum}} | {{{dataFormat}}} {{#isEnum}}_Enum:_ {{#_enum}}{{this}}, {{/_enum}}{{/isEnum}} {{^isEnum}}{{^container}}{{^allowableValues.empty}} {{#allowableValues.values}}{{this}}, {{/allowableValues.values}} {{/allowableValues.empty}}{{/container}}{{/isEnum}}
{{/vars}} {{/vars}}
|=== |===
{{/allowableValues}}
{{#allowableValues}}
[.fields-{{classname}}]
[cols="1"]
|===
| Enum Values
{{#allowableValues.values}}
| {{this}}
{{/allowableValues.values}}
|===
{{/allowableValues}}
{{/model}} {{/model}}
{{/models}} {{/models}}

View File

@ -16,6 +16,9 @@ import org.testng.Assert;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import java.io.File; import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -278,9 +281,70 @@ public class AbstractKotlinCodegenTest {
// Assert the enum default value is properly generated // Assert the enum default value is properly generated
CodegenProperty cp1 = cm1.vars.get(0); CodegenProperty cp1 = cm1.vars.get(0);
Assert.assertEquals(cp1.getEnumName(), "PropertyName"); Assert.assertEquals(cp1.getEnumName(), "PropertyName");
Assert.assertEquals(cp1.getDefaultValue(), "PropertyName.vALUE"); Assert.assertEquals(cp1.getDefaultValue(), "PropertyName.VALUE");
} }
@Test(description = "Issue #3804")
public void testEnumPropertyWithCapitalization() {
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/kotlin/issue3804-enum-enum-capitalization.yaml");
final AbstractKotlinCodegen codegen = new P_AbstractKotlinCodegen();
Schema test1 = openAPI.getComponents().getSchemas().get("ModelWithEnumPropertyHavingDefault");
CodegenModel cm1 = codegen.fromModel("ModelWithEnumPropertyHavingDefault", test1);
// We need to postProcess the model for enums to be processed
codegen.postProcessModels(createCodegenModelWrapper(cm1));
// Assert the enums are generated without changing capitalization
CodegenProperty cp0 = cm1.vars.get(0);
Assert.assertEquals(cp0.getEnumName(), "PropertyName");
Assert.assertEquals(((HashMap)((ArrayList) cp0.getAllowableValues().get("enumVars")).get(0)).get("name"), "VALUE");
CodegenProperty cp1 = cm1.vars.get(1);
Assert.assertEquals(cp1.getEnumName(), "PropertyName2");
Assert.assertEquals(((HashMap)((ArrayList) cp1.getAllowableValues().get("enumVars")).get(0)).get("name"), "Value");
CodegenProperty cp2 = cm1.vars.get(2);
Assert.assertEquals(cp2.getEnumName(), "PropertyName3");
Assert.assertEquals(((HashMap)((ArrayList) cp2.getAllowableValues().get("enumVars")).get(0)).get("name"), "nonkeywordvalue");
}
@Test(description = "Issue #3804")
public void testEnumPropertyDefaultWithCapitalization() {
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/kotlin/issue3804-enum-enum-capitalization.yaml");
final AbstractKotlinCodegen codegen = new P_AbstractKotlinCodegen();
Schema test1 = openAPI.getComponents().getSchemas().get("ModelWithEnumPropertyHavingDefault");
CodegenModel cm1 = codegen.fromModel("ModelWithEnumPropertyHavingDefault", test1);
// We need to postProcess the model for enums to be processed
codegen.postProcessModels(createCodegenModelWrapper(cm1));
// Assert the enum default value is properly generated
CodegenProperty cp0 = cm1.vars.get(0);
Assert.assertEquals(cp0.getDefaultValue(), "PropertyName.VALUE");
CodegenProperty cp1 = cm1.vars.get(1);
Assert.assertEquals(cp1.getDefaultValue(), "PropertyName2.Value");
CodegenProperty cp2 = cm1.vars.get(2);
Assert.assertEquals(cp2.getDefaultValue(), "PropertyName3.nonkeywordvalue");
}
@Test(description = "Issue #3804")
public void testEnumPropertyWithKeyword() {
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/kotlin/issue3804-enum-enum-capitalization.yaml");
final AbstractKotlinCodegen codegen = new P_AbstractKotlinCodegen();
Schema test1 = openAPI.getComponents().getSchemas().get("ModelWithEnumPropertyHavingDefault");
CodegenModel cm1 = codegen.fromModel("ModelWithEnumPropertyHavingDefault", test1);
// We need to postProcess the model for enums to be processed
codegen.postProcessModels(createCodegenModelWrapper(cm1));
// Assert the enum default value is properly generated
CodegenProperty cp3 = cm1.vars.get(3);
Assert.assertEquals(cp3.getEnumName(), "PropertyName4");
Assert.assertEquals(cp3.getDefaultValue(), "PropertyName4.`value`");
}
@Test(description = "Issue #10792") @Test(description = "Issue #10792")
public void handleInheritanceWithObjectTypeShouldNotBeAMap() { public void handleInheritanceWithObjectTypeShouldNotBeAMap() {
Schema parent = new ObjectSchema() Schema parent = new ObjectSchema()

View File

@ -1399,9 +1399,21 @@
"items": { "items": {
"$ref": "#/components/schemas/TaskWeek" "$ref": "#/components/schemas/TaskWeek"
} }
},
"pricingModelType":{
"$ref": "#/components/schemas/PricingModelType"
} }
}, },
"description": "week, holds all work and working assignments." "description": "week, holds all work and working assignments."
},
"PricingModelType": {
"type": "string",
"enum": [
"Unsupported",
"Flex",
"Community",
"Freedom"
]
} }
}, },
"securitySchemes": { "securitySchemes": {

View File

@ -0,0 +1,41 @@
openapi: 3.0.0
info:
title: 'Issue 10591 Enum default value'
version: latest
paths:
'/':
get:
operationId: operation
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithEnumPropertyHavingDefault'
components:
schemas:
ModelWithEnumPropertyHavingDefault:
required:
- propertyName
properties:
propertyName:
type: string
default: VALUE
enum:
- VALUE
propertyName2:
type: string
default: Value
enum:
- Value
propertyName3:
type: string
default: nonkeywordvalue
enum:
- nonkeywordvalue
propertyName4:
type: string
default: value
enum:
- value

View File

@ -10,7 +10,7 @@
* `unclassified` (value: `"unclassified"`) * `unclassified` (value: `"unclassified"`)
* `unknownDefaultOpenApi` (value: `"unknown_default_open_api"`) * `unknown_default_open_api` (value: `"unknown_default_open_api"`)

View File

@ -65,13 +65,13 @@ data class DefaultValue (
/** /**
* *
* *
* Values: success,failure,unclassified,unknownDefaultOpenApi * Values: success,failure,unclassified,unknown_default_open_api
*/ */
enum class ArrayStringEnumDefault(val value: kotlin.String) { enum class ArrayStringEnumDefault(val value: kotlin.String) {
@JsonProperty(value = "success") success("success"), @JsonProperty(value = "success") success("success"),
@JsonProperty(value = "failure") failure("failure"), @JsonProperty(value = "failure") failure("failure"),
@JsonProperty(value = "unclassified") unclassified("unclassified"), @JsonProperty(value = "unclassified") unclassified("unclassified"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -59,13 +59,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -41,13 +41,13 @@ data class Query (
/** /**
* *
* *
* Values: sUCCESS,fAILURE,sKIPPED,unknownDefaultOpenApi * Values: SUCCESS,FAILURE,SKIPPED,unknown_default_open_api
*/ */
enum class Outcomes(val value: kotlin.String) { enum class Outcomes(val value: kotlin.String) {
@JsonProperty(value = "SUCCESS") sUCCESS("SUCCESS"), @JsonProperty(value = "SUCCESS") SUCCESS("SUCCESS"),
@JsonProperty(value = "FAILURE") fAILURE("FAILURE"), @JsonProperty(value = "FAILURE") FAILURE("FAILURE"),
@JsonProperty(value = "SKIPPED") sKIPPED("SKIPPED"), @JsonProperty(value = "SKIPPED") SKIPPED("SKIPPED"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -21,7 +21,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
/** /**
* *
* *
* Values: success,failure,unclassified,unknownDefaultOpenApi * Values: success,failure,unclassified,unknown_default_open_api
*/ */
enum class StringEnumRef(val value: kotlin.String) { enum class StringEnumRef(val value: kotlin.String) {
@ -36,7 +36,7 @@ enum class StringEnumRef(val value: kotlin.String) {
unclassified("unclassified"), unclassified("unclassified"),
@JsonProperty(value = "unknown_default_open_api") @JsonProperty(value = "unknown_default_open_api")
unknownDefaultOpenApi("unknown_default_open_api"); unknown_default_open_api("unknown_default_open_api");
/** /**
* Override [toString()] to avoid using the enum variable name as the value, and instead use * Override [toString()] to avoid using the enum variable name as the value, and instead use

View File

@ -10,7 +10,7 @@
* `unclassified` (value: `"unclassified"`) * `unclassified` (value: `"unclassified"`)
* `unknownDefaultOpenApi` (value: `"unknown_default_open_api"`) * `unknown_default_open_api` (value: `"unknown_default_open_api"`)

View File

@ -65,13 +65,13 @@ data class DefaultValue (
/** /**
* *
* *
* Values: success,failure,unclassified,unknownDefaultOpenApi * Values: success,failure,unclassified,unknown_default_open_api
*/ */
enum class ArrayStringEnumDefault(val value: kotlin.String) { enum class ArrayStringEnumDefault(val value: kotlin.String) {
@JsonProperty(value = "success") success("success"), @JsonProperty(value = "success") success("success"),
@JsonProperty(value = "failure") failure("failure"), @JsonProperty(value = "failure") failure("failure"),
@JsonProperty(value = "unclassified") unclassified("unclassified"), @JsonProperty(value = "unclassified") unclassified("unclassified"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -59,13 +59,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -41,13 +41,13 @@ data class Query (
/** /**
* *
* *
* Values: sUCCESS,fAILURE,sKIPPED,unknownDefaultOpenApi * Values: SUCCESS,FAILURE,SKIPPED,unknown_default_open_api
*/ */
enum class Outcomes(val value: kotlin.String) { enum class Outcomes(val value: kotlin.String) {
@JsonProperty(value = "SUCCESS") sUCCESS("SUCCESS"), @JsonProperty(value = "SUCCESS") SUCCESS("SUCCESS"),
@JsonProperty(value = "FAILURE") fAILURE("FAILURE"), @JsonProperty(value = "FAILURE") FAILURE("FAILURE"),
@JsonProperty(value = "SKIPPED") sKIPPED("SKIPPED"), @JsonProperty(value = "SKIPPED") SKIPPED("SKIPPED"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -21,7 +21,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
/** /**
* *
* *
* Values: success,failure,unclassified,unknownDefaultOpenApi * Values: success,failure,unclassified,unknown_default_open_api
*/ */
enum class StringEnumRef(val value: kotlin.String) { enum class StringEnumRef(val value: kotlin.String) {
@ -36,7 +36,7 @@ enum class StringEnumRef(val value: kotlin.String) {
unclassified("unclassified"), unclassified("unclassified"),
@JsonProperty(value = "unknown_default_open_api") @JsonProperty(value = "unknown_default_open_api")
unknownDefaultOpenApi("unknown_default_open_api"); unknown_default_open_api("unknown_default_open_api");
/** /**
* Override [toString()] to avoid using the enum variable name as the value, and instead use * Override [toString()] to avoid using the enum variable name as the value, and instead use

View File

@ -48,27 +48,27 @@ class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient
* enum for parameter queryDefaultEnum * enum for parameter queryDefaultEnum
*/ */
enum class QueryDefaultEnumFindPetsByStatus(val value: kotlin.String) { enum class QueryDefaultEnumFindPetsByStatus(val value: kotlin.String) {
@Json(name = "A") a("A"), @Json(name = "A") A("A"),
@Json(name = "B") b("B"), @Json(name = "B") B("B"),
@Json(name = "C") c("C") @Json(name = "C") C("C")
} }
/** /**
* enum for parameter headerDefaultEnum * enum for parameter headerDefaultEnum
*/ */
enum class HeaderDefaultEnumFindPetsByStatus(val value: kotlin.String) { enum class HeaderDefaultEnumFindPetsByStatus(val value: kotlin.String) {
@Json(name = "A") a("A"), @Json(name = "A") A("A"),
@Json(name = "B") b("B"), @Json(name = "B") B("B"),
@Json(name = "C") c("C") @Json(name = "C") C("C")
} }
/** /**
* enum for parameter cookieDefaultEnum * enum for parameter cookieDefaultEnum
*/ */
enum class CookieDefaultEnumFindPetsByStatus(val value: kotlin.String) { enum class CookieDefaultEnumFindPetsByStatus(val value: kotlin.String) {
@Json(name = "A") a("A"), @Json(name = "A") A("A"),
@Json(name = "B") b("B"), @Json(name = "B") B("B"),
@Json(name = "C") c("C") @Json(name = "C") C("C")
} }
/** /**
@ -97,7 +97,7 @@ class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient
* @throws ServerException If the API returns a server error response * @throws ServerException If the API returns a server error response
*/ */
@Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class) @Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class)
fun findPetsByStatus(pathDefault: kotlin.String, pathNullable: kotlin.String, queryDefault: kotlin.String? = "available", queryDefaultEnum: QueryDefaultEnumFindPetsByStatus? = QueryDefaultEnumFindPetsByStatus.b, queryDefaultInt: java.math.BigDecimal? = java.math.BigDecimal("3"), headerDefault: kotlin.String? = "available", headerDefaultEnum: HeaderDefaultEnumFindPetsByStatus? = HeaderDefaultEnumFindPetsByStatus.b, headerDefaultInt: java.math.BigDecimal? = java.math.BigDecimal("3"), cookieDefault: kotlin.String? = "available", cookieDefaultEnum: CookieDefaultEnumFindPetsByStatus? = CookieDefaultEnumFindPetsByStatus.b, cookieDefaultInt: java.math.BigDecimal? = java.math.BigDecimal("3"), queryNullable: kotlin.String? = null, headerNullable: kotlin.String? = null, cookieNullable: kotlin.String? = null, dollarQueryDollarDollarSign: kotlin.String? = null) : Unit { fun findPetsByStatus(pathDefault: kotlin.String, pathNullable: kotlin.String, queryDefault: kotlin.String? = "available", queryDefaultEnum: QueryDefaultEnumFindPetsByStatus? = QueryDefaultEnumFindPetsByStatus.B, queryDefaultInt: java.math.BigDecimal? = java.math.BigDecimal("3"), headerDefault: kotlin.String? = "available", headerDefaultEnum: HeaderDefaultEnumFindPetsByStatus? = HeaderDefaultEnumFindPetsByStatus.B, headerDefaultInt: java.math.BigDecimal? = java.math.BigDecimal("3"), cookieDefault: kotlin.String? = "available", cookieDefaultEnum: CookieDefaultEnumFindPetsByStatus? = CookieDefaultEnumFindPetsByStatus.B, cookieDefaultInt: java.math.BigDecimal? = java.math.BigDecimal("3"), queryNullable: kotlin.String? = null, headerNullable: kotlin.String? = null, cookieNullable: kotlin.String? = null, dollarQueryDollarDollarSign: kotlin.String? = null) : Unit {
val localVarResponse = findPetsByStatusWithHttpInfo(pathDefault = pathDefault, pathNullable = pathNullable, queryDefault = queryDefault, queryDefaultEnum = queryDefaultEnum, queryDefaultInt = queryDefaultInt, headerDefault = headerDefault, headerDefaultEnum = headerDefaultEnum, headerDefaultInt = headerDefaultInt, cookieDefault = cookieDefault, cookieDefaultEnum = cookieDefaultEnum, cookieDefaultInt = cookieDefaultInt, queryNullable = queryNullable, headerNullable = headerNullable, cookieNullable = cookieNullable, dollarQueryDollarDollarSign = dollarQueryDollarDollarSign) val localVarResponse = findPetsByStatusWithHttpInfo(pathDefault = pathDefault, pathNullable = pathNullable, queryDefault = queryDefault, queryDefaultEnum = queryDefaultEnum, queryDefaultInt = queryDefaultInt, headerDefault = headerDefault, headerDefaultEnum = headerDefaultEnum, headerDefaultInt = headerDefaultInt, cookieDefault = cookieDefault, cookieDefaultEnum = cookieDefaultEnum, cookieDefaultInt = cookieDefaultInt, queryNullable = queryNullable, headerNullable = headerNullable, cookieNullable = cookieNullable, dollarQueryDollarDollarSign = dollarQueryDollarDollarSign)
return when (localVarResponse.responseType) { return when (localVarResponse.responseType) {

View File

@ -7,12 +7,12 @@ object SerializerHelper {
fun addEnumUnknownDefaultCase(moshiBuilder: Moshi.Builder): Moshi.Builder { fun addEnumUnknownDefaultCase(moshiBuilder: Moshi.Builder): Moshi.Builder {
return moshiBuilder return moshiBuilder
.add(org.openapitools.client.models.ModelWithEnumPropertyHavingDefault.PropertyName::class.java, EnumJsonAdapter.create(org.openapitools.client.models.ModelWithEnumPropertyHavingDefault.PropertyName::class.java) .add(org.openapitools.client.models.ModelWithEnumPropertyHavingDefault.PropertyName::class.java, EnumJsonAdapter.create(org.openapitools.client.models.ModelWithEnumPropertyHavingDefault.PropertyName::class.java)
.withUnknownFallback(org.openapitools.client.models.ModelWithEnumPropertyHavingDefault.PropertyName.unknownDefaultOpenApi)) .withUnknownFallback(org.openapitools.client.models.ModelWithEnumPropertyHavingDefault.PropertyName.unknown_default_open_api))
.add(org.openapitools.client.models.PropertyOfDay.DaysOfWeek::class.java, EnumJsonAdapter.create(org.openapitools.client.models.PropertyOfDay.DaysOfWeek::class.java) .add(org.openapitools.client.models.PropertyOfDay.DaysOfWeek::class.java, EnumJsonAdapter.create(org.openapitools.client.models.PropertyOfDay.DaysOfWeek::class.java)
.withUnknownFallback(org.openapitools.client.models.PropertyOfDay.DaysOfWeek.unknownDefaultOpenApi)) .withUnknownFallback(org.openapitools.client.models.PropertyOfDay.DaysOfWeek.unknown_default_open_api))
.add(org.openapitools.client.models.PropertyOfDay.MonthOfYear::class.java, EnumJsonAdapter.create(org.openapitools.client.models.PropertyOfDay.MonthOfYear::class.java) .add(org.openapitools.client.models.PropertyOfDay.MonthOfYear::class.java, EnumJsonAdapter.create(org.openapitools.client.models.PropertyOfDay.MonthOfYear::class.java)
.withUnknownFallback(org.openapitools.client.models.PropertyOfDay.MonthOfYear.unknownDefaultOpenApi)) .withUnknownFallback(org.openapitools.client.models.PropertyOfDay.MonthOfYear.unknown_default_open_api))
.add(org.openapitools.client.models.PropertyOfDay.HolidayTypes::class.java, EnumJsonAdapter.create(org.openapitools.client.models.PropertyOfDay.HolidayTypes::class.java) .add(org.openapitools.client.models.PropertyOfDay.HolidayTypes::class.java, EnumJsonAdapter.create(org.openapitools.client.models.PropertyOfDay.HolidayTypes::class.java)
.withUnknownFallback(org.openapitools.client.models.PropertyOfDay.HolidayTypes.unknownDefaultOpenApi)) .withUnknownFallback(org.openapitools.client.models.PropertyOfDay.HolidayTypes.unknown_default_open_api))
} }
} }

View File

@ -30,7 +30,7 @@ import java.io.Serializable
data class ModelWithEnumPropertyHavingDefault ( data class ModelWithEnumPropertyHavingDefault (
@Json(name = "propertyName") @Json(name = "propertyName")
val propertyName: ModelWithEnumPropertyHavingDefault.PropertyName = PropertyName.vALUE val propertyName: ModelWithEnumPropertyHavingDefault.PropertyName = PropertyName.VALUE
) : Serializable { ) : Serializable {
companion object { companion object {
@ -40,12 +40,12 @@ data class ModelWithEnumPropertyHavingDefault (
/** /**
* *
* *
* Values: vALUE,unknownDefaultOpenApi * Values: VALUE,unknown_default_open_api
*/ */
@JsonClass(generateAdapter = false) @JsonClass(generateAdapter = false)
enum class PropertyName(val value: kotlin.String) { enum class PropertyName(val value: kotlin.String) {
@Json(name = "VALUE") vALUE("VALUE"), @Json(name = "VALUE") VALUE("VALUE"),
@Json(name = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); @Json(name = "unknown_default_open_api") unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -66,26 +66,26 @@ data class PropertyOfDay (
/** /**
* Days of week * Days of week
* *
* Values: mONDAY,tUESDAY,wEDNESDAY,tHURSDAY,fRIDAY,sATURDAY,sUNDAY,wEEKDAYS,wEEKEND,eVERYDAY,unknownDefaultOpenApi * Values: MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY,WEEKDAYS,WEEKEND,EVERYDAY,unknown_default_open_api
*/ */
@JsonClass(generateAdapter = false) @JsonClass(generateAdapter = false)
enum class DaysOfWeek(val value: kotlin.Any) { enum class DaysOfWeek(val value: kotlin.Any) {
@Json(name = "MONDAY") mONDAY("MONDAY"), @Json(name = "MONDAY") MONDAY("MONDAY"),
@Json(name = "TUESDAY") tUESDAY("TUESDAY"), @Json(name = "TUESDAY") TUESDAY("TUESDAY"),
@Json(name = "WEDNESDAY") wEDNESDAY("WEDNESDAY"), @Json(name = "WEDNESDAY") WEDNESDAY("WEDNESDAY"),
@Json(name = "THURSDAY") tHURSDAY("THURSDAY"), @Json(name = "THURSDAY") THURSDAY("THURSDAY"),
@Json(name = "FRIDAY") fRIDAY("FRIDAY"), @Json(name = "FRIDAY") FRIDAY("FRIDAY"),
@Json(name = "SATURDAY") sATURDAY("SATURDAY"), @Json(name = "SATURDAY") SATURDAY("SATURDAY"),
@Json(name = "SUNDAY") sUNDAY("SUNDAY"), @Json(name = "SUNDAY") SUNDAY("SUNDAY"),
@Json(name = "WEEKDAYS") wEEKDAYS("WEEKDAYS"), @Json(name = "WEEKDAYS") WEEKDAYS("WEEKDAYS"),
@Json(name = "WEEKEND") wEEKEND("WEEKEND"), @Json(name = "WEEKEND") WEEKEND("WEEKEND"),
@Json(name = "EVERYDAY") eVERYDAY("EVERYDAY"), @Json(name = "EVERYDAY") EVERYDAY("EVERYDAY"),
@Json(name = "11184809") unknownDefaultOpenApi("11184809"); @Json(name = "11184809") unknown_default_open_api("11184809");
} }
/** /**
* Month of year * Month of year
* *
* Values: _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,unknownDefaultOpenApi * Values: _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,unknown_default_open_api
*/ */
@JsonClass(generateAdapter = false) @JsonClass(generateAdapter = false)
enum class MonthOfYear(val value: kotlin.Int) { enum class MonthOfYear(val value: kotlin.Int) {
@ -101,35 +101,35 @@ data class PropertyOfDay (
@Json(name = "10") _10(10), @Json(name = "10") _10(10),
@Json(name = "11") _11(11), @Json(name = "11") _11(11),
@Json(name = "12") _12(12), @Json(name = "12") _12(12),
@Json(name = "11184809") unknownDefaultOpenApi(11184809); @Json(name = "11184809") unknown_default_open_api(11184809);
} }
/** /**
* Holiday types * Holiday types
* *
* Values: nOTHOLIDAY,lOCALHOLIDAY,nATIONALHOLIDAY,aNYHOLIDAY,wORKINGDAY,aNYDAY,nEWYEARSDAY,pALMSUNDAY,mAUNDYTHURSDAY,gOODFRIDAY,eASTERSUNDAY,eASTERMONDAY,lABOURDAY,cONSTITUTIONDAY,aSCENSIONDAY,wHITSUNDAY,wHITMONDAY,XMAS_DAY,bOXINGDAY,unknownDefaultOpenApi * Values: NOT_HOLIDAY,LOCAL_HOLIDAY,NATIONAL_HOLIDAY,ANY_HOLIDAY,WORKING_DAY,ANY_DAY,NEW_YEARS_DAY,PALM_SUNDAY,MAUNDY_THURSDAY,GOOD_FRIDAY,EASTER_SUNDAY,EASTER_MONDAY,LABOUR_DAY,CONSTITUTION_DAY,ASCENSION_DAY,WHIT_SUNDAY,WHIT_MONDAY,XMAS_DAY,BOXING_DAY,unknown_default_open_api
*/ */
@JsonClass(generateAdapter = false) @JsonClass(generateAdapter = false)
enum class HolidayTypes(val value: kotlin.Any) { enum class HolidayTypes(val value: kotlin.Any) {
@Json(name = "NOT_HOLIDAY") nOTHOLIDAY("NOT_HOLIDAY"), @Json(name = "NOT_HOLIDAY") NOT_HOLIDAY("NOT_HOLIDAY"),
@Json(name = "LOCAL_HOLIDAY") lOCALHOLIDAY("LOCAL_HOLIDAY"), @Json(name = "LOCAL_HOLIDAY") LOCAL_HOLIDAY("LOCAL_HOLIDAY"),
@Json(name = "NATIONAL_HOLIDAY") nATIONALHOLIDAY("NATIONAL_HOLIDAY"), @Json(name = "NATIONAL_HOLIDAY") NATIONAL_HOLIDAY("NATIONAL_HOLIDAY"),
@Json(name = "ANY_HOLIDAY") aNYHOLIDAY("ANY_HOLIDAY"), @Json(name = "ANY_HOLIDAY") ANY_HOLIDAY("ANY_HOLIDAY"),
@Json(name = "WORKING_DAY") wORKINGDAY("WORKING_DAY"), @Json(name = "WORKING_DAY") WORKING_DAY("WORKING_DAY"),
@Json(name = "ANY_DAY") aNYDAY("ANY_DAY"), @Json(name = "ANY_DAY") ANY_DAY("ANY_DAY"),
@Json(name = "NEW_YEARS_DAY") nEWYEARSDAY("NEW_YEARS_DAY"), @Json(name = "NEW_YEARS_DAY") NEW_YEARS_DAY("NEW_YEARS_DAY"),
@Json(name = "PALM_SUNDAY") pALMSUNDAY("PALM_SUNDAY"), @Json(name = "PALM_SUNDAY") PALM_SUNDAY("PALM_SUNDAY"),
@Json(name = "MAUNDY_THURSDAY") mAUNDYTHURSDAY("MAUNDY_THURSDAY"), @Json(name = "MAUNDY_THURSDAY") MAUNDY_THURSDAY("MAUNDY_THURSDAY"),
@Json(name = "GOOD_FRIDAY") gOODFRIDAY("GOOD_FRIDAY"), @Json(name = "GOOD_FRIDAY") GOOD_FRIDAY("GOOD_FRIDAY"),
@Json(name = "EASTER_SUNDAY") eASTERSUNDAY("EASTER_SUNDAY"), @Json(name = "EASTER_SUNDAY") EASTER_SUNDAY("EASTER_SUNDAY"),
@Json(name = "EASTER_MONDAY") eASTERMONDAY("EASTER_MONDAY"), @Json(name = "EASTER_MONDAY") EASTER_MONDAY("EASTER_MONDAY"),
@Json(name = "LABOUR_DAY") lABOURDAY("LABOUR_DAY"), @Json(name = "LABOUR_DAY") LABOUR_DAY("LABOUR_DAY"),
@Json(name = "CONSTITUTION_DAY") cONSTITUTIONDAY("CONSTITUTION_DAY"), @Json(name = "CONSTITUTION_DAY") CONSTITUTION_DAY("CONSTITUTION_DAY"),
@Json(name = "ASCENSION_DAY") aSCENSIONDAY("ASCENSION_DAY"), @Json(name = "ASCENSION_DAY") ASCENSION_DAY("ASCENSION_DAY"),
@Json(name = "WHIT_SUNDAY") wHITSUNDAY("WHIT_SUNDAY"), @Json(name = "WHIT_SUNDAY") WHIT_SUNDAY("WHIT_SUNDAY"),
@Json(name = "WHIT_MONDAY") wHITMONDAY("WHIT_MONDAY"), @Json(name = "WHIT_MONDAY") WHIT_MONDAY("WHIT_MONDAY"),
@Json(name = "CHRISTMAS_DAY") XMAS_DAY("CHRISTMAS_DAY"), @Json(name = "CHRISTMAS_DAY") XMAS_DAY("CHRISTMAS_DAY"),
@Json(name = "BOXING_DAY") bOXINGDAY("BOXING_DAY"), @Json(name = "BOXING_DAY") BOXING_DAY("BOXING_DAY"),
@Json(name = "11184809") unknownDefaultOpenApi("11184809"); @Json(name = "11184809") unknown_default_open_api("11184809");
} }
} }

View File

@ -66,14 +66,14 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
@Serializable(with = OrderSerializer::class) @Serializable(with = OrderSerializer::class)
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@SerialName(value = "placed") placed("placed"), @SerialName(value = "placed") placed("placed"),
@SerialName(value = "approved") approved("approved"), @SerialName(value = "approved") approved("approved"),
@SerialName(value = "delivered") delivered("delivered"), @SerialName(value = "delivered") delivered("delivered"),
@SerialName(value = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); @SerialName(value = "unknown_default_open_api") unknown_default_open_api("unknown_default_open_api");
} }
@Serializer(forClass = Status::class) @Serializer(forClass = Status::class)
@ -83,7 +83,7 @@ data class Order (
override fun deserialize(decoder: Decoder): Status { override fun deserialize(decoder: Decoder): Status {
val value = decoder.decodeSerializableValue(kotlin.String.serializer()) val value = decoder.decodeSerializableValue(kotlin.String.serializer())
return Status.values().firstOrNull { it.value == value } return Status.values().firstOrNull { it.value == value }
?: Status.unknownDefaultOpenApi ?: Status.unknown_default_open_api
} }
override fun serialize(encoder: Encoder, value: Status) { override fun serialize(encoder: Encoder, value: Status) {

View File

@ -68,14 +68,14 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
@Serializable(with = PetSerializer::class) @Serializable(with = PetSerializer::class)
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@SerialName(value = "available") available("available"), @SerialName(value = "available") available("available"),
@SerialName(value = "pending") pending("pending"), @SerialName(value = "pending") pending("pending"),
@SerialName(value = "sold") sold("sold"), @SerialName(value = "sold") sold("sold"),
@SerialName(value = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); @SerialName(value = "unknown_default_open_api") unknown_default_open_api("unknown_default_open_api");
} }
@Serializer(forClass = Status::class) @Serializer(forClass = Status::class)
@ -85,7 +85,7 @@ data class Pet (
override fun deserialize(decoder: Decoder): Status { override fun deserialize(decoder: Decoder): Status {
val value = decoder.decodeSerializableValue(kotlin.String.serializer()) val value = decoder.decodeSerializableValue(kotlin.String.serializer())
return Status.values().firstOrNull { it.value == value } return Status.values().firstOrNull { it.value == value }
?: Status.unknownDefaultOpenApi ?: Status.unknown_default_open_api
} }
override fun serialize(encoder: Encoder, value: Status) { override fun serialize(encoder: Encoder, value: Status) {

View File

@ -57,13 +57,13 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "placed") placed("placed"), @JsonProperty(value = "placed") placed("placed"),
@JsonProperty(value = "approved") approved("approved"), @JsonProperty(value = "approved") approved("approved"),
@JsonProperty(value = "delivered") delivered("delivered"), @JsonProperty(value = "delivered") delivered("delivered"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -60,13 +60,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -56,13 +56,13 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@SerializedName(value = "placed") placed("placed"), @SerializedName(value = "placed") placed("placed"),
@SerializedName(value = "approved") approved("approved"), @SerializedName(value = "approved") approved("approved"),
@SerializedName(value = "delivered") delivered("delivered"), @SerializedName(value = "delivered") delivered("delivered"),
@SerializedName(value = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); @SerializedName(value = "unknown_default_open_api") unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -58,13 +58,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@SerializedName(value = "available") available("available"), @SerializedName(value = "available") available("available"),
@SerializedName(value = "pending") pending("pending"), @SerializedName(value = "pending") pending("pending"),
@SerializedName(value = "sold") sold("sold"), @SerializedName(value = "sold") sold("sold"),
@SerializedName(value = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); @SerializedName(value = "unknown_default_open_api") unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -57,13 +57,13 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "placed") placed("placed"), @JsonProperty(value = "placed") placed("placed"),
@JsonProperty(value = "approved") approved("approved"), @JsonProperty(value = "approved") approved("approved"),
@JsonProperty(value = "delivered") delivered("delivered"), @JsonProperty(value = "delivered") delivered("delivered"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -59,13 +59,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -57,13 +57,13 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "placed") placed("placed"), @JsonProperty(value = "placed") placed("placed"),
@JsonProperty(value = "approved") approved("approved"), @JsonProperty(value = "approved") approved("approved"),
@JsonProperty(value = "delivered") delivered("delivered"), @JsonProperty(value = "delivered") delivered("delivered"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -60,13 +60,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -57,13 +57,13 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "placed") placed("placed"), @JsonProperty(value = "placed") placed("placed"),
@JsonProperty(value = "approved") approved("approved"), @JsonProperty(value = "approved") approved("approved"),
@JsonProperty(value = "delivered") delivered("delivered"), @JsonProperty(value = "delivered") delivered("delivered"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -60,13 +60,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -57,13 +57,13 @@ data class Order (
/** /**
* Order Status * Order Status
* *
* Values: placed,approved,delivered,unknownDefaultOpenApi * Values: placed,approved,delivered,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "placed") placed("placed"), @JsonProperty(value = "placed") placed("placed"),
@JsonProperty(value = "approved") approved("approved"), @JsonProperty(value = "approved") approved("approved"),
@JsonProperty(value = "delivered") delivered("delivered"), @JsonProperty(value = "delivered") delivered("delivered"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -60,13 +60,13 @@ data class Pet (
/** /**
* pet status in the store * pet status in the store
* *
* Values: available,pending,sold,unknownDefaultOpenApi * Values: available,pending,sold,unknown_default_open_api
*/ */
enum class Status(val value: kotlin.String) { enum class Status(val value: kotlin.String) {
@JsonProperty(value = "available") available("available"), @JsonProperty(value = "available") available("available"),
@JsonProperty(value = "pending") pending("pending"), @JsonProperty(value = "pending") pending("pending"),
@JsonProperty(value = "sold") sold("sold"), @JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknownDefaultOpenApi("unknown_default_open_api"); @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
} }
} }

View File

@ -0,0 +1,14 @@
package org.openapitools.client.infrastructure
import com.squareup.moshi.Moshi
import com.squareup.moshi.adapters.EnumJsonAdapter
object SerializerHelper {
fun addEnumUnknownDefaultCase(moshiBuilder: Moshi.Builder): Moshi.Builder {
return moshiBuilder
.add(org.openapitools.client.models.Order.Status::class.java, EnumJsonAdapter.create(org.openapitools.client.models.Order.Status::class.java)
.withUnknownFallback(org.openapitools.client.models.Order.Status.unknown_default_open_api))
.add(org.openapitools.client.models.Pet.Status::class.java, EnumJsonAdapter.create(org.openapitools.client.models.Pet.Status::class.java)
.withUnknownFallback(org.openapitools.client.models.Pet.Status.unknown_default_open_api))
}
}

View File

@ -0,0 +1,70 @@
/**
*
* Please note:
* This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* Do not edit this file manually.
*
*/
@file:Suppress(
"ArrayInDataClass",
"EnumEntryName",
"RemoveRedundantQualifierName",
"UnusedImport"
)
package org.openapitools.client.models
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
/**
* An order for a pets from the pet store
*
* @param id
* @param petId
* @param quantity
* @param shipDate
* @param status Order Status
* @param complete
*/
data class Order (
@Json(name = "id")
val id: kotlin.Long? = null,
@Json(name = "petId")
val petId: kotlin.Long? = null,
@Json(name = "quantity")
val quantity: kotlin.Int? = null,
@Json(name = "shipDate")
val shipDate: java.time.OffsetDateTime? = null,
/* Order Status */
@Json(name = "status")
val status: Order.Status? = null,
@Json(name = "complete")
val complete: kotlin.Boolean? = false
) {
/**
* Order Status
*
* Values: placed,approved,delivered,unknown_default_open_api
*/
@JsonClass(generateAdapter = false)
enum class Status(val value: kotlin.String) {
@Json(name = "placed") placed("placed"),
@Json(name = "approved") approved("approved"),
@Json(name = "delivered") delivered("delivered"),
@Json(name = "unknown_default_open_api") unknown_default_open_api("unknown_default_open_api");
}
}