Skip to content

Commit c16b7f3

Browse files
committed
Add images/main-colors endpoint
1 parent b7053b3 commit c16b7f3

File tree

4 files changed

+61
-0
lines changed

4 files changed

+61
-0
lines changed

src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import com.ecwid.apiclient.v3.dto.customer.request.*
2424
import com.ecwid.apiclient.v3.dto.customer.result.*
2525
import com.ecwid.apiclient.v3.dto.customergroup.request.*
2626
import com.ecwid.apiclient.v3.dto.customergroup.result.*
27+
import com.ecwid.apiclient.v3.dto.images.request.ImagesMainColorsRequest
28+
import com.ecwid.apiclient.v3.dto.images.result.FetchedImagesMainColorsResult
2729
import com.ecwid.apiclient.v3.dto.instantsite.redirects.request.*
2830
import com.ecwid.apiclient.v3.dto.instantsite.redirects.result.*
2931
import com.ecwid.apiclient.v3.dto.productreview.request.*
@@ -77,6 +79,7 @@ open class ApiClient private constructor(
7779
productReviewsApiClient: ProductReviewsApiClientImpl,
7880
storeExtrafieldsApiClient: StoreExtrafieldsApiClientImpl,
7981
swatchesApiClient: SwatchesApiClientImpl,
82+
imagesApiClient: ImagesApiClientImpl,
8083
) :
8184
StoreProfileApiClient by storeProfileApiClient,
8285
BrandsApiClient by brandsApiClient,
@@ -100,6 +103,7 @@ open class ApiClient private constructor(
100103
ProductReviewsApiClient by productReviewsApiClient,
101104
StoreExtrafieldsApiClient by storeExtrafieldsApiClient,
102105
SwatchesApiClient by swatchesApiClient,
106+
ImagesApiClient by imagesApiClient,
103107
Closeable {
104108

105109
constructor(apiClientHelper: ApiClientHelper) : this(
@@ -126,6 +130,7 @@ open class ApiClient private constructor(
126130
productReviewsApiClient = ProductReviewsApiClientImpl(apiClientHelper),
127131
storeExtrafieldsApiClient = StoreExtrafieldsApiClientImpl(apiClientHelper),
128132
swatchesApiClient = SwatchesApiClientImpl(apiClientHelper),
133+
imagesApiClient = ImagesApiClientImpl(apiClientHelper),
129134
)
130135

131136
override fun close() {
@@ -332,3 +337,7 @@ interface ProductReviewsApiClient {
332337
interface SwatchesApiClient {
333338
fun getRecentSwatchColors(request: RecentSwatchColorsGetRequest): FetchedSwatchColorsResult
334339
}
340+
341+
interface ImagesApiClient {
342+
fun getImagesMainColors(request: ImagesMainColorsRequest): FetchedImagesMainColorsResult
343+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.ecwid.apiclient.v3.dto.images.request
2+
3+
import com.ecwid.apiclient.v3.dto.ApiRequest
4+
import com.ecwid.apiclient.v3.httptransport.HttpBody
5+
import com.ecwid.apiclient.v3.impl.RequestInfo
6+
7+
data class ImagesMainColorsRequest(
8+
val imagesMainColorsRequest: ImagesMainColorsRequestBody = ImagesMainColorsRequestBody()
9+
): ApiRequest {
10+
override fun toRequestInfo(): RequestInfo {
11+
return RequestInfo.createPostRequest(
12+
pathSegments = listOf(
13+
"images",
14+
"main-colors",
15+
),
16+
httpBody = HttpBody.JsonBody(
17+
obj = imagesMainColorsRequest,
18+
)
19+
)
20+
}
21+
}
22+
23+
data class ImagesMainColorsRequestBody(
24+
val imageUrls: List<String> = emptyList(),
25+
val colorsCount: Int = 5,
26+
)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.ecwid.apiclient.v3.dto.images.result
2+
3+
import com.ecwid.apiclient.v3.dto.common.ApiResultDTO
4+
5+
data class FetchedImagesMainColorsResult(
6+
val result: Map<String, FetchedImageMainColors>,
7+
) : ApiResultDTO
8+
9+
10+
data class FetchedImageMainColors(
11+
val colors: List<String>,
12+
)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.ecwid.apiclient.v3.impl
2+
3+
import com.ecwid.apiclient.v3.ApiClientHelper
4+
import com.ecwid.apiclient.v3.ImagesApiClient
5+
import com.ecwid.apiclient.v3.dto.images.request.ImagesMainColorsRequest
6+
import com.ecwid.apiclient.v3.dto.images.result.FetchedImagesMainColorsResult
7+
8+
class ImagesApiClientImpl(
9+
private val apiClientHelper: ApiClientHelper,
10+
): ImagesApiClient {
11+
override fun getImagesMainColors(request: ImagesMainColorsRequest): FetchedImagesMainColorsResult {
12+
return apiClientHelper.makeObjectResultRequest<FetchedImagesMainColorsResult>(request)
13+
}
14+
}

0 commit comments

Comments
 (0)