@@ -17,6 +17,7 @@ import com.ecwid.apiclient.v3.dto.batch.result.GetEscapedBatchResult
1717import com.ecwid.apiclient.v3.dto.batch.result.GetTypedBatchResult
1818import com.ecwid.apiclient.v3.dto.cart.request.*
1919import com.ecwid.apiclient.v3.dto.cart.result.*
20+ import com.ecwid.apiclient.v3.dto.common.PartialResult
2021import com.ecwid.apiclient.v3.dto.coupon.request.*
2122import com.ecwid.apiclient.v3.dto.coupon.result.*
2223import com.ecwid.apiclient.v3.dto.customer.request.*
@@ -47,6 +48,7 @@ import com.ecwid.apiclient.v3.dto.variation.result.*
4748import com.ecwid.apiclient.v3.httptransport.HttpTransport
4849import com.ecwid.apiclient.v3.impl.*
4950import com.ecwid.apiclient.v3.jsontransformer.JsonTransformerProvider
51+ import kotlin.reflect.KClass
5052
5153open class ApiClient private constructor(
5254 protected val apiClientHelper : ApiClientHelper ,
@@ -212,14 +214,28 @@ interface ProductVariationsApiClient {
212214 fun uploadVariationImage (request : ProductVariationImageUploadRequest ): ProductVariationImageUploadResult
213215 fun uploadProductVariationImageAsync (request : ProductVariationImageAsyncUploadRequest ): ProductVariationImageAsyncUploadResult
214216 fun getAllProductVariations (request : ProductVariationsRequest ): ProductVariationsResult
217+ fun <Result > getAllProductVariations (request : ProductVariationsRequest , resultClass : KClass <Result >): List <Result >
218+ where Result : PartialResult <FetchedVariation >
215219 fun getProductVariation (request : ProductVariationDetailsRequest ): FetchedVariation
220+ fun <Result > getProductVariation (request : ProductVariationDetailsRequest , resultClass : KClass <Result >): Result
221+ where Result : PartialResult <FetchedVariation >
216222 fun updateProductVariation (request : UpdateProductVariationRequest ): UpdateProductVariationResult
217223 fun deleteProductVariation (request : DeleteProductVariationRequest ): DeleteProductVariationsResult
218224 fun deleteAllProductVariations (request : DeleteAllProductVariationsRequest ): DeleteProductVariationsResult
219225 fun adjustVariationInventory (request : AdjustVariationInventoryRequest ): AdjustVariationInventoryResult
220226 fun deleteVariationImage (request : ProductVariationImageDeleteRequest ): ProductVariationImageDeleteResult
221227}
222228
229+ @Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
230+ inline fun <reified Result : PartialResult <FetchedVariation >> ProductVariationsApiClient.getProductVariation (request : ProductVariationDetailsRequest ): Result {
231+ return getProductVariation(request, Result ::class )
232+ }
233+
234+ @Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
235+ inline fun <reified Result : PartialResult <FetchedVariation >> ProductVariationsApiClient.getAllProductVariations (request : ProductVariationsRequest ): List <Result > {
236+ return getAllProductVariations(request, Result ::class )
237+ }
238+
223239// Carts
224240// https://developers.ecwid.com/api-documentation/carts
225241interface CartsApiClient {
0 commit comments