diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt b/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt index 63dd13cf2..efaf413e6 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt @@ -4,7 +4,9 @@ import com.ecwid.apiclient.v3.config.ApiServerDomain import com.ecwid.apiclient.v3.config.ApiStoreCredentials import com.ecwid.apiclient.v3.config.LoggingSettings import com.ecwid.apiclient.v3.dto.application.request.ApplicationDeleteRequest +import com.ecwid.apiclient.v3.dto.application.request.ApplicationTokenRequest import com.ecwid.apiclient.v3.dto.application.result.ApplicationDeleteResult +import com.ecwid.apiclient.v3.dto.application.result.ApplicationTokenResult import com.ecwid.apiclient.v3.dto.batch.request.CancelBatchGroupRequest import com.ecwid.apiclient.v3.dto.batch.request.CreateBatchRequest import com.ecwid.apiclient.v3.dto.batch.request.CreateBatchRequestWithIds @@ -252,6 +254,7 @@ interface SalesChannelsApiClient { // https://developers.ecwid.com/api-documentation/application interface ApplicationApiClient { fun deleteApplication(request: ApplicationDeleteRequest): ApplicationDeleteResult + fun getApplicationToken(request: ApplicationTokenRequest): ApplicationTokenResult } // Application storage diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/application/request/ApplicationTokenRequest.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/application/request/ApplicationTokenRequest.kt new file mode 100644 index 000000000..ac4e16810 --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/application/request/ApplicationTokenRequest.kt @@ -0,0 +1,13 @@ +package com.ecwid.apiclient.v3.dto.application.request + +import com.ecwid.apiclient.v3.dto.ApiRequest +import com.ecwid.apiclient.v3.impl.RequestInfo + +class ApplicationTokenRequest : ApiRequest { + override fun toRequestInfo() = RequestInfo.createGetRequest( + pathSegments = listOf( + "application", + "token", + ) + ) +} diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/application/result/ApplicationTokenResult.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/application/result/ApplicationTokenResult.kt new file mode 100644 index 000000000..c7a9ae8f8 --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/application/result/ApplicationTokenResult.kt @@ -0,0 +1,10 @@ +package com.ecwid.apiclient.v3.dto.application.result + +import com.ecwid.apiclient.v3.dto.common.ApiResultDTO +import java.util.* + +data class ApplicationTokenResult( + val permissions: List = emptyList(), + val created: Date = Date(), + val expires: Date = Date(), +) : ApiResultDTO diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/impl/ApplicationApiClientImpl.kt b/src/main/kotlin/com/ecwid/apiclient/v3/impl/ApplicationApiClientImpl.kt index d6745e45e..9efc39fe3 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/impl/ApplicationApiClientImpl.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/impl/ApplicationApiClientImpl.kt @@ -3,11 +3,16 @@ package com.ecwid.apiclient.v3.impl import com.ecwid.apiclient.v3.ApiClientHelper import com.ecwid.apiclient.v3.ApplicationApiClient import com.ecwid.apiclient.v3.dto.application.request.ApplicationDeleteRequest +import com.ecwid.apiclient.v3.dto.application.request.ApplicationTokenRequest import com.ecwid.apiclient.v3.dto.application.result.ApplicationDeleteResult +import com.ecwid.apiclient.v3.dto.application.result.ApplicationTokenResult class ApplicationApiClientImpl( private val apiClientHelper: ApiClientHelper ) : ApplicationApiClient { override fun deleteApplication(request: ApplicationDeleteRequest) = apiClientHelper.makeObjectResultRequest(request) + + override fun getApplicationToken(request: ApplicationTokenRequest) = + apiClientHelper.makeObjectResultRequest(request) }