File tree Expand file tree Collapse file tree 3 files changed +25
-4
lines changed
src/main/kotlin/com/ecwid/apiclient/v3 Expand file tree Collapse file tree 3 files changed +25
-4
lines changed Original file line number Diff line number Diff line change @@ -334,6 +334,10 @@ data class FetchedStoreProfile(
334334 app;
335335
336336 override fun toString (): String {
337+ return asApiString()
338+ }
339+
340+ fun asApiString (): String {
337341 return super .toString().replace(" _" , " -" )
338342 }
339343 }
Original file line number Diff line number Diff line change 11package com.ecwid.apiclient.v3.jsontransformer.gson
22
33import com.ecwid.apiclient.v3.dto.product.result.GetProductFiltersResult.ProductFilters
4+ import com.ecwid.apiclient.v3.dto.profile.result.FetchedStoreProfile.RatesCalculationType
45import com.ecwid.apiclient.v3.exception.JsonDeserializationException
56import com.ecwid.apiclient.v3.impl.ParsedResponseWithExt
67import com.ecwid.apiclient.v3.jsontransformer.JsonTransformer
78import com.ecwid.apiclient.v3.jsontransformer.PolymorphicType
8- import com.ecwid.apiclient.v3.jsontransformer.gson.typeadapters.GsonNullableUpdatedValueTypeAdapterFactory
9- import com.ecwid.apiclient.v3.jsontransformer.gson.typeadapters.GsonPolymorphicDeserializer
10- import com.ecwid.apiclient.v3.jsontransformer.gson.typeadapters.GsonProductFiltersDeserializer
11- import com.ecwid.apiclient.v3.jsontransformer.gson.typeadapters.ParsedResponseWithExtDeserializer
9+ import com.ecwid.apiclient.v3.jsontransformer.gson.typeadapters.*
1210import com.google.gson.*
1311
1412class GsonTransformer (polymorphicTypes : List <PolymorphicType <* >>) : JsonTransformer {
@@ -23,6 +21,7 @@ class GsonTransformer(polymorphicTypes: List<PolymorphicType<*>>) : JsonTransfor
2321 gsonBuilder.registerTypeAdapter(ProductFilters ::class .java, GsonProductFiltersDeserializer ())
2422 gsonBuilder.registerTypeAdapter(ParsedResponseWithExt ::class .java, ParsedResponseWithExtDeserializer ())
2523 gsonBuilder.registerTypeAdapterFactory(GsonNullableUpdatedValueTypeAdapterFactory )
24+ gsonBuilder.registerTypeAdapter(RatesCalculationType ::class .java, RatesCalculationTypeDeserializer ())
2625 }
2726 .create()
2827
Original file line number Diff line number Diff line change 1+ package com.ecwid.apiclient.v3.jsontransformer.gson.typeadapters
2+
3+ import com.ecwid.apiclient.v3.dto.profile.result.FetchedStoreProfile.RatesCalculationType
4+ import com.google.gson.JsonDeserializationContext
5+ import com.google.gson.JsonDeserializer
6+ import com.google.gson.JsonElement
7+ import java.lang.reflect.Type
8+
9+ class RatesCalculationTypeDeserializer : JsonDeserializer <RatesCalculationType > {
10+ override fun deserialize (
11+ json : JsonElement ,
12+ typeOfT : Type ,
13+ context : JsonDeserializationContext
14+ ): RatesCalculationType ? {
15+ val strValue = json.asString
16+ return RatesCalculationType .entries.firstOrNull { it.asApiString() == strValue }
17+ }
18+ }
You can’t perform that action at this time.
0 commit comments