Skip to content

Commit 87ac3dc

Browse files
committed
ECWID-153684 - restructured code.
1 parent eb99b16 commit 87ac3dc

7 files changed

Lines changed: 27 additions & 25 deletions

File tree

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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ import com.ecwid.apiclient.v3.dto.batch.result.CancelBatchGroupResult
1515
import com.ecwid.apiclient.v3.dto.batch.result.CreateBatchResult
1616
import com.ecwid.apiclient.v3.dto.batch.result.GetEscapedBatchResult
1717
import com.ecwid.apiclient.v3.dto.batch.result.GetTypedBatchResult
18-
import com.ecwid.apiclient.v3.dto.brand.request.BrandsSearchRequest
19-
import com.ecwid.apiclient.v3.dto.brand.result.BrandsSearchResult
2018
import com.ecwid.apiclient.v3.dto.cart.request.*
2119
import com.ecwid.apiclient.v3.dto.cart.result.*
2220
import com.ecwid.apiclient.v3.dto.common.PartialResult
@@ -318,11 +316,3 @@ interface ProductReviewsApiClient {
318316
fun massUpdateProductReview(request: ProductReviewMassUpdateRequest): ProductReviewMassUpdateResult
319317
fun getProductReviewsFiltersData(request: ProductReviewFiltersDataRequest): ProductReviewFiltersDataResult
320318
}
321-
322-
// Brands
323-
// https://api-docs.ecwid.com/reference/search-product-brands
324-
interface BrandsApiClient {
325-
fun searchBrands(request: BrandsSearchRequest.ByFilters): BrandsSearchResult
326-
fun <Result> searchBrands(request: BrandsSearchRequest.ByFilters, resultClass: KClass<Result>): Result
327-
where Result : PartialResult<BrandsSearchResult>
328-
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.ecwid.apiclient.v3
2+
3+
import com.ecwid.apiclient.v3.dto.brand.request.BrandsSearchRequest
4+
import com.ecwid.apiclient.v3.dto.brand.result.BrandsSearchResult
5+
import com.ecwid.apiclient.v3.dto.common.PartialResult
6+
import kotlin.reflect.KClass
7+
8+
// Brands
9+
// https://api-docs.ecwid.com/reference/product-brands
10+
interface BrandsApiClient {
11+
fun searchBrands(request: BrandsSearchRequest): BrandsSearchResult
12+
fun <Result> searchBrands(request: BrandsSearchRequest, resultClass: KClass<Result>): Result
13+
where Result : PartialResult<BrandsSearchResult>
14+
}
15+
16+
@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
17+
inline fun <reified Result: PartialResult<BrandsSearchResult>> BrandsApiClient.searchBrands(
18+
request: BrandsSearchRequest
19+
): Result {
20+
return searchBrands(request, resultClass = Result::class)
21+
}

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.ecwid.apiclient.v3
22

3-
import com.ecwid.apiclient.v3.dto.brand.request.BrandsSearchRequest
4-
import com.ecwid.apiclient.v3.dto.brand.result.BrandsSearchResult
53
import com.ecwid.apiclient.v3.dto.category.request.*
64
import com.ecwid.apiclient.v3.dto.category.result.*
75
import com.ecwid.apiclient.v3.dto.common.PagingResult
@@ -39,8 +37,6 @@ interface CategoriesApiClient {
3937
fun deleteCategoryImage(request: CategoryImageDeleteRequest): CategoryImageDeleteResult
4038
fun assignProductsToCategory(request: AssignProductsToCategoryRequest): CategoryUpdateResult
4139
fun unassignProductsFromCategory(request: UnassignProductsFromCategoryRequest): CategoryDeleteResult
42-
43-
fun getBrands(request: BrandsSearchRequest): BrandsSearchResult
4440
}
4541

4642
@Suppress("EXTENSION_SHADOWED_BY_MEMBER")

src/main/kotlin/com/ecwid/apiclient/v3/impl/BrandsApiClientImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ internal class BrandsApiClientImpl(
1111
private val apiClientHelper: ApiClientHelper,
1212
) : BrandsApiClient {
1313

14-
override fun searchBrands(request: BrandsSearchRequest.ByFilters) =
14+
override fun searchBrands(request: BrandsSearchRequest) =
1515
apiClientHelper.makeObjectResultRequest<BrandsSearchResult>(request)
1616

1717
override fun <Result : PartialResult<BrandsSearchResult>> searchBrands(
18-
request: BrandsSearchRequest.ByFilters,
18+
request: BrandsSearchRequest,
1919
resultClass: KClass<Result>
2020
): Result {
2121
return apiClientHelper.makeObjectPartialResultRequest(

src/main/kotlin/com/ecwid/apiclient/v3/impl/CategoriesApiClientImpl.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package com.ecwid.apiclient.v3.impl
22

33
import com.ecwid.apiclient.v3.ApiClientHelper
44
import com.ecwid.apiclient.v3.CategoriesApiClient
5-
import com.ecwid.apiclient.v3.dto.brand.request.BrandsSearchRequest
6-
import com.ecwid.apiclient.v3.dto.brand.result.BrandsSearchResult
75
import com.ecwid.apiclient.v3.dto.category.request.*
86
import com.ecwid.apiclient.v3.dto.category.result.*
97
import com.ecwid.apiclient.v3.dto.common.PagingResult
@@ -114,7 +112,4 @@ internal class CategoriesApiClientImpl(
114112
): Sequence<Item> where Result : PartialResult<CategoriesSearchResult>, Result : PagingResult<Item> {
115113
return fetchPagesAsItemSequence(request) { searchCategoriesByPath(it, resultClass) }
116114
}
117-
118-
override fun getBrands(request: BrandsSearchRequest) =
119-
apiClientHelper.makeObjectResultRequest<BrandsSearchResult>(request)
120115
}

src/test/kotlin/com/ecwid/apiclient/v3/entity/BrandsTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class BrandsTest : BaseEntityTest() {
3434
)
3535
}
3636

37-
val result = apiClient.getBrands(BrandsSearchRequest.ByFilters())
37+
val result = apiClient.searchBrands(BrandsSearchRequest.ByFilters())
3838
assertEquals(
3939
brandedProductsCreateResult.brandNames,
4040
result.items.map { it.name }
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# don't use id of store that contains valuable and useful data! tests can modify or even delete store data
2-
storeId=
3-
apiToken=
4-
apiHost=app.ecwid.com
2+
storeId=1754
3+
apiToken=secret_ZVk1LmWMfv8cnFy6bgQrvnyZSpBGjwsz
4+
apiHost=app.local.ecwid.com
55
apiPort=443

0 commit comments

Comments
 (0)