Skip to content

Commit bd5e8ba

Browse files
authored
Merge pull request #196 from Ecwid/payment-method
Add Get requests for Payment and Shipping options
2 parents c5e01ff + 246df7a commit bd5e8ba

7 files changed

Lines changed: 47 additions & 3 deletions

File tree

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ interface StoreProfileApiClient {
116116
fun getStoreProfile(request: StoreProfileRequest): FetchedStoreProfile
117117
fun updateStoreProfile(request: StoreProfileUpdateRequest): StoreProfileUpdateResult
118118
fun getLatestStats(request: LatestStatsRequest): FetchedLatestStats
119-
// fun getShippingOptions()
119+
fun getShippingOptions(request: ShippingOptionsRequest): ShippingOptionsResult
120120
// fun addShippingOption()
121121
// fun updateShippingOption()
122-
// fun getPaymentOptions()
122+
fun getPaymentOptions(request: PaymentOptionsRequest): PaymentOptionsResult
123123
// fun addPaymentOption()
124124
// fun updatePaymentOption()
125125
fun uploadStoreLogo(request: StoreLogoUploadRequest): StoreLogoUploadResult
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.ecwid.apiclient.v3.dto.profile.request
2+
3+
import com.ecwid.apiclient.v3.dto.ApiRequest
4+
import com.ecwid.apiclient.v3.impl.RequestInfo
5+
6+
class PaymentOptionsRequest : ApiRequest {
7+
override fun toRequestInfo() = RequestInfo.createGetRequest(
8+
pathSegments = listOf(
9+
"profile",
10+
"paymentOptions"
11+
),
12+
params = mapOf()
13+
)
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.ecwid.apiclient.v3.dto.profile.request
2+
3+
import com.ecwid.apiclient.v3.dto.ApiRequest
4+
import com.ecwid.apiclient.v3.impl.RequestInfo
5+
6+
class ShippingOptionsRequest : ApiRequest {
7+
override fun toRequestInfo() = RequestInfo.createGetRequest(
8+
pathSegments = listOf(
9+
"profile",
10+
"shippingOptions"
11+
),
12+
params = mapOf()
13+
)
14+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.ecwid.apiclient.v3.dto.profile.result
2+
3+
import java.util.*
4+
5+
class PaymentOptionsResult : ArrayList<FetchedStoreProfile.PaymentOptionInfo>()
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.ecwid.apiclient.v3.dto.profile.result
2+
3+
import java.util.*
4+
5+
class ShippingOptionsResult : ArrayList<FetchedStoreProfile.ShippingOption>()

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,10 @@ internal class StoreProfileApiClientImpl(
4949

5050
override fun deleteExtrafieldConfig(request: ExtrafieldConfigDeleteRequest): ExtrafieldConfigDeleteResult =
5151
apiClientHelper.makeObjectResultRequest(request)
52+
53+
override fun getShippingOptions(request: ShippingOptionsRequest): ShippingOptionsResult =
54+
apiClientHelper.makeObjectResultRequest(request)
55+
56+
override fun getPaymentOptions(request: PaymentOptionsRequest): PaymentOptionsResult =
57+
apiClientHelper.makeObjectResultRequest(request)
5258
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ abstract class BaseEntityTest {
182182
productsSearchRequest: ProductsSearchRequest.ByFilters,
183183
desiredProductCount: Int
184184
): ProductsSearchResult {
185-
return processDelay(500L, 10) {
185+
return processDelay(1000L, 10) {
186186
val productsSearchResult = apiClient.searchProducts(productsSearchRequest)
187187
if (productsSearchResult.items.size == desiredProductCount) productsSearchResult else null
188188
}

0 commit comments

Comments
 (0)