Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import com.ecwid.apiclient.v3.dto.customer.request.*
import com.ecwid.apiclient.v3.dto.customer.result.*
import com.ecwid.apiclient.v3.dto.customergroup.request.*
import com.ecwid.apiclient.v3.dto.customergroup.result.*
import com.ecwid.apiclient.v3.dto.images.request.ImagesMainColorsRequest
import com.ecwid.apiclient.v3.dto.images.result.FetchedImagesMainColorsResult
import com.ecwid.apiclient.v3.dto.instantsite.redirects.request.*
import com.ecwid.apiclient.v3.dto.instantsite.redirects.result.*
import com.ecwid.apiclient.v3.dto.productreview.request.*
Expand Down Expand Up @@ -77,6 +79,7 @@ open class ApiClient private constructor(
productReviewsApiClient: ProductReviewsApiClientImpl,
storeExtrafieldsApiClient: StoreExtrafieldsApiClientImpl,
swatchesApiClient: SwatchesApiClientImpl,
imagesApiClient: ImagesApiClientImpl,
) :
StoreProfileApiClient by storeProfileApiClient,
BrandsApiClient by brandsApiClient,
Expand All @@ -100,6 +103,7 @@ open class ApiClient private constructor(
ProductReviewsApiClient by productReviewsApiClient,
StoreExtrafieldsApiClient by storeExtrafieldsApiClient,
SwatchesApiClient by swatchesApiClient,
ImagesApiClient by imagesApiClient,
Closeable {

constructor(apiClientHelper: ApiClientHelper) : this(
Expand All @@ -126,6 +130,7 @@ open class ApiClient private constructor(
productReviewsApiClient = ProductReviewsApiClientImpl(apiClientHelper),
storeExtrafieldsApiClient = StoreExtrafieldsApiClientImpl(apiClientHelper),
swatchesApiClient = SwatchesApiClientImpl(apiClientHelper),
imagesApiClient = ImagesApiClientImpl(apiClientHelper),
)

override fun close() {
Expand Down Expand Up @@ -332,3 +337,7 @@ interface ProductReviewsApiClient {
interface SwatchesApiClient {
fun getRecentSwatchColors(request: RecentSwatchColorsGetRequest): FetchedSwatchColorsResult
}

interface ImagesApiClient {
fun getImagesMainColors(request: ImagesMainColorsRequest): FetchedImagesMainColorsResult
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.ecwid.apiclient.v3.dto.images.request

import com.ecwid.apiclient.v3.dto.ApiRequest
import com.ecwid.apiclient.v3.dto.common.ApiRequestDTO
import com.ecwid.apiclient.v3.httptransport.HttpBody
import com.ecwid.apiclient.v3.impl.RequestInfo

data class ImagesMainColorsRequest(
val imagesMainColorsRequest: ImagesMainColorsRequestBody = ImagesMainColorsRequestBody()
) : ApiRequest {
override fun toRequestInfo(): RequestInfo {
return RequestInfo.createPostRequest(
pathSegments = listOf(
"images",
"main-colors",
),
httpBody = HttpBody.JsonBody(
obj = imagesMainColorsRequest,
)
)
}
}

data class ImagesMainColorsRequestBody(
val imageUrls: List<String> = emptyList(),
val colorsCount: Int = 5,
) : ApiRequestDTO
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.ecwid.apiclient.v3.dto.images.result

import com.ecwid.apiclient.v3.dto.common.ApiResultDTO

data class FetchedImagesMainColorsResult(
val result: Map<String, FetchedImageMainColors> = emptyMap(),
) : ApiResultDTO


data class FetchedImageMainColors(
val colors: List<String> = emptyList(),
) : ApiResultDTO
14 changes: 14 additions & 0 deletions src/main/kotlin/com/ecwid/apiclient/v3/impl/ImagesApiClientImpl.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.ecwid.apiclient.v3.impl

import com.ecwid.apiclient.v3.ApiClientHelper
import com.ecwid.apiclient.v3.ImagesApiClient
import com.ecwid.apiclient.v3.dto.images.request.ImagesMainColorsRequest
import com.ecwid.apiclient.v3.dto.images.result.FetchedImagesMainColorsResult

class ImagesApiClientImpl(
private val apiClientHelper: ApiClientHelper,
) : ImagesApiClient {
override fun getImagesMainColors(request: ImagesMainColorsRequest): FetchedImagesMainColorsResult {
return apiClientHelper.makeObjectResultRequest<FetchedImagesMainColorsResult>(request)
}
}