Skip to content

Commit 4c309c9

Browse files
committed
Split the method createOrUpdate into two: create and update
1 parent e9c996d commit 4c309c9

4 files changed

Lines changed: 35 additions & 2 deletions

File tree

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,8 @@ interface ApplicationApiClient {
300300
interface ApplicationStorageApiClient {
301301
fun getStorageData(request: StorageDataRequest): FetchedStorageData
302302
fun getAllStorageData(request: AllStorageDataRequest): AllStorageDataResult
303-
fun createOrUpdateStorageData(request: StorageDataUpdateRequest): StorageDataUpdateResult
303+
fun createStorageData(request: StorageDataCreateRequest): StorageDataCreateResult
304+
fun updateStorageData(request: StorageDataUpdateRequest): StorageDataUpdateResult
304305
fun deleteStorageData(request: StorageDataDeleteRequest): StorageDataDeleteResult
305306
}
306307

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.ecwid.apiclient.v3.dto.storage.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.MIME_TYPE_APPLICATION_JSON
6+
import com.ecwid.apiclient.v3.impl.RequestInfo
7+
8+
data class StorageDataCreateRequest(
9+
private val updatedStorageData: UpdatedStorageData = UpdatedStorageData(),
10+
) : ApiRequest {
11+
12+
override fun toRequestInfo() = RequestInfo.createPostRequest(
13+
pathSegments = listOf(
14+
"storage",
15+
updatedStorageData.key,
16+
),
17+
httpBody = HttpBody.ByteArrayBody(
18+
bytes = updatedStorageData.value?.toByteArray() ?: ByteArray(0),
19+
mimeType = MIME_TYPE_APPLICATION_JSON,
20+
),
21+
)
22+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.ecwid.apiclient.v3.dto.storage.result
2+
3+
import com.ecwid.apiclient.v3.dto.common.ApiResultDTO
4+
5+
data class StorageDataCreateResult(
6+
val updateCount: Int = 0,
7+
) : ApiResultDTO

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ internal class ApplicationStorageApiClientImpl(
1515
override fun getAllStorageData(request: AllStorageDataRequest) =
1616
apiClientHelper.makeObjectResultRequest<AllStorageDataResult>(request)
1717

18-
override fun createOrUpdateStorageData(request: StorageDataUpdateRequest) =
18+
override fun createStorageData(request: StorageDataCreateRequest) =
19+
apiClientHelper.makeObjectResultRequest<StorageDataCreateResult>(request)
20+
21+
override fun updateStorageData(request: StorageDataUpdateRequest) =
1922
apiClientHelper.makeObjectResultRequest<StorageDataUpdateResult>(request)
2023

2124
override fun deleteStorageData(request: StorageDataDeleteRequest) =

0 commit comments

Comments
 (0)