From 7e52c93c148f23218809bdfee837baa1ecbf78b6 Mon Sep 17 00:00:00 2001 From: CHervaudBetclic Date: Fri, 9 May 2025 09:24:59 +0200 Subject: [PATCH] [kotlin-client] Add support for integer enums in serialization for kotlin-client --- .../kotlin-client/enum_class.mustache | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/enum_class.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/enum_class.mustache index dd18d6e572d..8b3f0efbe5f 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/enum_class.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/enum_class.mustache @@ -43,20 +43,45 @@ import kotlinx.serialization.* {{#allowableValues}}{{#enumVars}} {{^multiplatform}} {{#moshi}} + {{#isString}} @Json(name = {{#lambda.doublequote}}{{{value}}}{{/lambda.doublequote}}) + {{/isString}} + {{^isString}} + @Json(name = {{{value}}}) + {{/isString}} {{/moshi}} {{#gson}} + {{#isString}} @SerializedName(value = {{#lambda.doublequote}}{{{value}}}{{/lambda.doublequote}}) + {{/isString}} + {{^isString}} + @SerializedName(value = {{{value}}}) + {{/isString}} {{/gson}} {{#jackson}} + {{#isString}} @JsonProperty(value = {{#lambda.doublequote}}{{{value}}}{{/lambda.doublequote}}){{#enumUnknownDefaultCase}}{{#-last}} @JsonEnumDefaultValue{{/-last}}{{/enumUnknownDefaultCase}} + {{/isString}} + {{^isString}} + @JsonProperty(value = {{{value}}}){{#enumUnknownDefaultCase}}{{#-last}} @JsonEnumDefaultValue{{/-last}}{{/enumUnknownDefaultCase}} + {{/isString}} {{/jackson}} {{#kotlinx_serialization}} + {{#isString}} @SerialName(value = {{#lambda.doublequote}}{{{value}}}{{/lambda.doublequote}}) + {{/isString}} + {{^isString}} + @SerialName(value = {{{value}}}) + {{/isString}} {{/kotlinx_serialization}} {{/multiplatform}} {{#multiplatform}} + {{#isString}} @SerialName(value = {{#lambda.doublequote}}{{{value}}}{{/lambda.doublequote}}) + {{/isString}} + {{^isString}} + @SerialName(value = {{{value}}}) + {{/isString}} {{/multiplatform}} {{#isArray}} {{#isList}}