From e9ef053f2986da0d0e81a6432b6f8d47e7b69b9c Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@gmail.com> Date: Tue, 4 May 2021 12:44:18 +0100 Subject: [PATCH] [kotlin][client] add sample for parcelizeModels --- bin/configs/kotlin-json-request-string.yaml | 1 + .../src/main/resources/kotlin-client/data_class.mustache | 1 - .../client/petstore/kotlin-json-request-string/build.gradle | 1 + .../kotlin/org/openapitools/client/models/ApiResponse.kt | 5 ++++- .../main/kotlin/org/openapitools/client/models/Category.kt | 5 ++++- .../src/main/kotlin/org/openapitools/client/models/Order.kt | 5 ++++- .../src/main/kotlin/org/openapitools/client/models/Pet.kt | 5 ++++- .../src/main/kotlin/org/openapitools/client/models/Tag.kt | 5 ++++- .../src/main/kotlin/org/openapitools/client/models/User.kt | 5 ++++- 9 files changed, 26 insertions(+), 7 deletions(-) diff --git a/bin/configs/kotlin-json-request-string.yaml b/bin/configs/kotlin-json-request-string.yaml index 8f1dade28c90..375622ae5df0 100644 --- a/bin/configs/kotlin-json-request-string.yaml +++ b/bin/configs/kotlin-json-request-string.yaml @@ -5,3 +5,4 @@ templateDir: modules/openapi-generator/src/main/resources/kotlin-client additionalProperties: requestDateConverter: toString artifactId: kotlin-petstore-json-request-string + parcelizeModels: true diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache index 117cdef8fd79..216df66eeac0 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache @@ -25,7 +25,6 @@ import kotlinx.serialization.Contextual {{#parcelizeModels}} import android.os.Parcelable import kotlinx.parcelize.Parcelize - {{/parcelizeModels}} {{/multiplatform}} {{#multiplatform}} diff --git a/samples/client/petstore/kotlin-json-request-string/build.gradle b/samples/client/petstore/kotlin-json-request-string/build.gradle index 60e5056e0316..4e47e29cc51b 100644 --- a/samples/client/petstore/kotlin-json-request-string/build.gradle +++ b/samples/client/petstore/kotlin-json-request-string/build.gradle @@ -18,6 +18,7 @@ buildscript { } apply plugin: 'kotlin' +apply plugin: 'kotlin-parcelize' repositories { maven { url "https://repo1.maven.org/maven2" } diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/ApiResponse.kt index fafca8738f66..5e349f9f96e0 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/ApiResponse.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/ApiResponse.kt @@ -13,6 +13,8 @@ package org.openapitools.client.models import com.squareup.moshi.Json +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * Describes the result of uploading an image resource @@ -20,6 +22,7 @@ import com.squareup.moshi.Json * @param type * @param message */ +@Parcelize data class ApiResponse ( @Json(name = "code") @@ -28,5 +31,5 @@ data class ApiResponse ( val type: kotlin.String? = null, @Json(name = "message") val message: kotlin.String? = null -) +) : Parcelable diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Category.kt index a4c17c3b49dd..38cc22268468 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Category.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Category.kt @@ -13,17 +13,20 @@ package org.openapitools.client.models import com.squareup.moshi.Json +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * A category for a pet * @param id * @param name */ +@Parcelize data class Category ( @Json(name = "id") val id: kotlin.Long? = null, @Json(name = "name") val name: kotlin.String? = null -) +) : Parcelable diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt index 2bdaec85131d..7e9d9fc46441 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt @@ -13,6 +13,8 @@ package org.openapitools.client.models import com.squareup.moshi.Json +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * An order for a pets from the pet store @@ -23,6 +25,7 @@ import com.squareup.moshi.Json * @param status Order Status * @param complete */ +@Parcelize data class Order ( @Json(name = "id") @@ -38,7 +41,7 @@ data class Order ( val status: Order.Status? = null, @Json(name = "complete") val complete: kotlin.Boolean? = null -) { +) : Parcelable { /** * Order Status diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt index 0e38da34b79e..35de5ef28a2a 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt @@ -15,6 +15,8 @@ import org.openapitools.client.models.Category import org.openapitools.client.models.Tag import com.squareup.moshi.Json +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * A pet for sale in the pet store @@ -25,6 +27,7 @@ import com.squareup.moshi.Json * @param tags * @param status pet status in the store */ +@Parcelize data class Pet ( @Json(name = "name") @@ -40,7 +43,7 @@ data class Pet ( /* pet status in the store */ @Json(name = "status") val status: Pet.Status? = null -) { +) : Parcelable { /** * pet status in the store diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Tag.kt index 6e619023a5c9..dc72586b9919 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Tag.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Tag.kt @@ -13,17 +13,20 @@ package org.openapitools.client.models import com.squareup.moshi.Json +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * A tag for a pet * @param id * @param name */ +@Parcelize data class Tag ( @Json(name = "id") val id: kotlin.Long? = null, @Json(name = "name") val name: kotlin.String? = null -) +) : Parcelable diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/User.kt index af1e270325de..9a840f06e7fa 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/User.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/User.kt @@ -13,6 +13,8 @@ package org.openapitools.client.models import com.squareup.moshi.Json +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * A User who is purchasing from the pet store @@ -25,6 +27,7 @@ import com.squareup.moshi.Json * @param phone * @param userStatus User Status */ +@Parcelize data class User ( @Json(name = "id") @@ -44,5 +47,5 @@ data class User ( /* User Status */ @Json(name = "userStatus") val userStatus: kotlin.Int? = null -) +) : Parcelable