Skip to content

Commit 04a24d1

Browse files
feat(ad-hoc): Refactor card events (#370)
1 parent 95b4755 commit 04a24d1

19 files changed

Lines changed: 139 additions & 53 deletions

sdk/src/main/kotlin/com/processout/sdk/api/model/request/POCardTokenizationPreferredSchemeRequest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import java.util.UUID
1111
* @param[issuerInformation] Holds information about card issuing institution that issued the card to the card holder.
1212
* @param[uuid] Unique identifier of request.
1313
*/
14+
@Deprecated(message = "Not used.")
1415
data class POCardTokenizationPreferredSchemeRequest @ProcessOutInternalApi constructor(
1516
val issuerInformation: POCardIssuerInformation,
1617
override val uuid: UUID = UUID.randomUUID()

sdk/src/main/kotlin/com/processout/sdk/api/model/request/POCardTokenizationProcessingRequest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import java.util.UUID
1111
* @param[saveCard] Indicates whether the user has chosen to save the card for future payments.
1212
* @param[uuid] Unique identifier of request.
1313
*/
14+
@Deprecated(message = "Not used.")
1415
data class POCardTokenizationProcessingRequest(
1516
val card: POCard,
1617
val saveCard: Boolean,

sdk/src/main/kotlin/com/processout/sdk/api/model/request/POCardTokenizationShouldContinueRequest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import java.util.UUID
1111
* @param[failure] Failure that can be inspected to decide whether the flow should continue or complete.
1212
* @param[uuid] Unique identifier of request.
1313
*/
14+
@Deprecated(message = "Not used.")
1415
data class POCardTokenizationShouldContinueRequest @ProcessOutInternalApi constructor(
1516
val failure: ProcessOutResult.Failure,
1617
override val uuid: UUID = UUID.randomUUID()

sdk/src/main/kotlin/com/processout/sdk/api/model/request/POCardUpdateShouldContinueRequest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import java.util.UUID
1212
* @param[failure] Failure that can be inspected to decide whether the flow should continue or complete.
1313
* @param[uuid] Unique identifier of request.
1414
*/
15+
@Deprecated(message = "Not used.")
1516
data class POCardUpdateShouldContinueRequest @ProcessOutInternalApi constructor(
1617
val cardId: String,
1718
val failure: ProcessOutResult.Failure,

sdk/src/main/kotlin/com/processout/sdk/api/model/response/POCardTokenizationPreferredSchemeResponse.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import java.util.UUID
1212
* @param[issuerInformation] Holds information about card issuing institution that issued the card to the card holder.
1313
* @param[preferredScheme] Preferred scheme that will be used by default for card tokenization.
1414
*/
15+
@Deprecated(message = "Not used.")
1516
data class POCardTokenizationPreferredSchemeResponse internal constructor(
1617
override val uuid: UUID,
1718
val issuerInformation: POCardIssuerInformation,
@@ -23,6 +24,7 @@ data class POCardTokenizationPreferredSchemeResponse internal constructor(
2324
*
2425
* @param[preferredScheme] Preferred scheme that will be used by default for card tokenization. Will use a primary scheme if _null_.
2526
*/
27+
@Deprecated(message = "Not used.")
2628
fun POCardTokenizationPreferredSchemeRequest.toResponse(
2729
preferredScheme: String?
2830
) = POCardTokenizationPreferredSchemeResponse(uuid, issuerInformation, preferredScheme)

sdk/src/main/kotlin/com/processout/sdk/api/model/response/POCardTokenizationProcessingResponse.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import java.util.UUID
1212
* @param[uuid] Unique identifier of response that must be equal to UUID of request.
1313
* @param[result] Result of tokenized card processing.
1414
*/
15+
@Deprecated(message = "Not used.")
1516
data class POCardTokenizationProcessingResponse internal constructor(
1617
override val uuid: UUID,
1718
val result: ProcessOutResult<POCard>
@@ -22,6 +23,7 @@ data class POCardTokenizationProcessingResponse internal constructor(
2223
*
2324
* @param[result] Result of tokenized card processing.
2425
*/
26+
@Deprecated(message = "Not used.")
2527
fun POCardTokenizationProcessingRequest.toResponse(
2628
result: ProcessOutResult<Any>
2729
) = POCardTokenizationProcessingResponse(

sdk/src/main/kotlin/com/processout/sdk/api/model/response/POCardTokenizationShouldContinueResponse.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import java.util.UUID
1313
* @param[failure] Failure that occurred. Must be provided from [POCardTokenizationShouldContinueRequest].
1414
* @param[shouldContinue] Boolean that indicates whether the flow should continue or complete after the [failure].
1515
*/
16+
@Deprecated(message = "Not used.")
1617
data class POCardTokenizationShouldContinueResponse internal constructor(
1718
override val uuid: UUID,
1819
val failure: ProcessOutResult.Failure,
@@ -24,6 +25,7 @@ data class POCardTokenizationShouldContinueResponse internal constructor(
2425
*
2526
* @param[shouldContinue] Boolean that indicates whether the flow should continue or complete after the failure.
2627
*/
28+
@Deprecated(message = "Not used.")
2729
fun POCardTokenizationShouldContinueRequest.toResponse(
2830
shouldContinue: Boolean
2931
) = POCardTokenizationShouldContinueResponse(uuid, failure, shouldContinue)

sdk/src/main/kotlin/com/processout/sdk/api/model/response/POCardUpdateShouldContinueResponse.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import java.util.UUID
1313
* @param[failure] Failure that occurred. Must be provided from [POCardUpdateShouldContinueRequest].
1414
* @param[shouldContinue] Boolean that indicates whether the flow should continue or complete after the [failure].
1515
*/
16+
@Deprecated(message = "Not used.")
1617
data class POCardUpdateShouldContinueResponse internal constructor(
1718
override val uuid: UUID,
1819
val failure: ProcessOutResult.Failure,
@@ -24,6 +25,7 @@ data class POCardUpdateShouldContinueResponse internal constructor(
2425
*
2526
* @param[shouldContinue] Boolean that indicates whether the flow should continue or complete after the failure.
2627
*/
28+
@Deprecated(message = "Not used.")
2729
fun POCardUpdateShouldContinueRequest.toResponse(
2830
shouldContinue: Boolean
2931
) = POCardUpdateShouldContinueResponse(uuid, failure, shouldContinue)

ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/CardTokenizationInteractor.kt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ import com.processout.sdk.R
77
import com.processout.sdk.api.dispatcher.POEventDispatcher
88
import com.processout.sdk.api.model.event.POCardTokenizationEvent
99
import com.processout.sdk.api.model.event.POCardTokenizationEvent.*
10-
import com.processout.sdk.api.model.request.*
11-
import com.processout.sdk.api.model.response.*
10+
import com.processout.sdk.api.model.request.POCardTokenizationRequest
11+
import com.processout.sdk.api.model.request.POContact
12+
import com.processout.sdk.api.model.response.POCard
13+
import com.processout.sdk.api.model.response.POCardIssuerInformation
14+
import com.processout.sdk.api.model.response.POCardScheme
1215
import com.processout.sdk.api.repository.POCardsRepository
1316
import com.processout.sdk.core.POFailure.Code.Cancelled
1417
import com.processout.sdk.core.POFailure.Code.Generic
@@ -26,12 +29,9 @@ import com.processout.sdk.ui.card.tokenization.CardTokenizationEvent.*
2629
import com.processout.sdk.ui.card.tokenization.CardTokenizationInteractorState.*
2730
import com.processout.sdk.ui.card.tokenization.CardTokenizationSideEffect.CardScanner
2831
import com.processout.sdk.ui.card.tokenization.POCardTokenizationConfiguration.BillingAddressConfiguration.CollectionMode.*
29-
import com.processout.sdk.ui.card.tokenization.delegate.CardTokenizationEligibilityRequest
30-
import com.processout.sdk.ui.card.tokenization.delegate.CardTokenizationEligibilityResponse
31-
import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationEligibility
32+
import com.processout.sdk.ui.card.tokenization.delegate.*
3233
import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationEligibility.Eligible
3334
import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationEligibility.NotEligible
34-
import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationState
3535
import com.processout.sdk.ui.core.state.POAvailableValue
3636
import com.processout.sdk.ui.shared.extension.currentAppLocale
3737
import com.processout.sdk.ui.shared.extension.distinctUntilChangedByMultiple
@@ -88,10 +88,10 @@ internal class CardTokenizationInteractor(
8888

8989
private var issuerInformationJob: Job? = null
9090

91-
private var latestProcessingRequest: POCardTokenizationProcessingRequest? = null
91+
private var latestProcessingRequest: CardTokenizationProcessingRequest? = null
9292
private var latestEligibilityRequest: CardTokenizationEligibilityRequest? = null
93-
private var latestPreferredSchemeRequest: POCardTokenizationPreferredSchemeRequest? = null
94-
private var latestShouldContinueRequest: POCardTokenizationShouldContinueRequest? = null
93+
private var latestPreferredSchemeRequest: CardTokenizationPreferredSchemeRequest? = null
94+
private var latestShouldContinueRequest: CardTokenizationShouldContinueRequest? = null
9595

9696
//region Initialization
9797

@@ -507,15 +507,15 @@ internal class CardTokenizationInteractor(
507507

508508
private fun requestPreferredScheme(issuerInformation: POCardIssuerInformation) {
509509
interactorScope.launch {
510-
val request = POCardTokenizationPreferredSchemeRequest(issuerInformation)
510+
val request = CardTokenizationPreferredSchemeRequest(issuerInformation = issuerInformation)
511511
latestPreferredSchemeRequest = request
512512
eventDispatcher.send(request)
513513
POLogger.info("Requested to choose preferred scheme by issuer information: %s", issuerInformation)
514514
}
515515
}
516516

517517
private fun collectPreferredScheme() {
518-
eventDispatcher.subscribeForResponse<POCardTokenizationPreferredSchemeResponse>(
518+
eventDispatcher.subscribeForResponse<CardTokenizationPreferredSchemeResponse>(
519519
coroutineScope = interactorScope
520520
) { response ->
521521
if (response.uuid == latestPreferredSchemeRequest?.uuid) {
@@ -827,7 +827,7 @@ internal class CardTokenizationInteractor(
827827
}
828828

829829
private suspend fun requestToProcessTokenizedCard(card: POCard) {
830-
val request = POCardTokenizationProcessingRequest(
830+
val request = CardTokenizationProcessingRequest(
831831
card = card,
832832
saveCard = _state.value.saveCardField.value.text.toBooleanStrictOrNull() ?: false
833833
)
@@ -840,7 +840,7 @@ internal class CardTokenizationInteractor(
840840
}
841841

842842
private fun handleCompletion() {
843-
eventDispatcher.subscribeForResponse<POCardTokenizationProcessingResponse>(
843+
eventDispatcher.subscribeForResponse<CardTokenizationProcessingResponse>(
844844
coroutineScope = interactorScope
845845
) { response ->
846846
if (response.uuid == latestProcessingRequest?.uuid) {
@@ -865,15 +865,15 @@ internal class CardTokenizationInteractor(
865865

866866
private fun requestIfShouldContinue(failure: ProcessOutResult.Failure) {
867867
interactorScope.launch {
868-
val request = POCardTokenizationShouldContinueRequest(failure)
868+
val request = CardTokenizationShouldContinueRequest(failure = failure)
869869
latestShouldContinueRequest = request
870870
eventDispatcher.send(request)
871871
POLogger.info("Requested to decide whether the flow should continue or complete after the failure: %s", failure)
872872
}
873873
}
874874

875875
private fun shouldContinueOnFailure() {
876-
eventDispatcher.subscribeForResponse<POCardTokenizationShouldContinueResponse>(
876+
eventDispatcher.subscribeForResponse<CardTokenizationShouldContinueResponse>(
877877
coroutineScope = interactorScope
878878
) { response ->
879879
if (response.uuid == latestShouldContinueRequest?.uuid) {

ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,9 @@ import androidx.lifecycle.lifecycleScope
99
import com.processout.sdk.R
1010
import com.processout.sdk.api.dispatcher.POEventDispatcher
1111
import com.processout.sdk.api.model.event.POCardTokenizationEvent
12-
import com.processout.sdk.api.model.request.POCardTokenizationPreferredSchemeRequest
13-
import com.processout.sdk.api.model.request.POCardTokenizationProcessingRequest
14-
import com.processout.sdk.api.model.request.POCardTokenizationShouldContinueRequest
1512
import com.processout.sdk.api.model.response.POCard
16-
import com.processout.sdk.api.model.response.toResponse
1713
import com.processout.sdk.core.ProcessOutActivityResult
18-
import com.processout.sdk.ui.card.tokenization.delegate.CardTokenizationEligibilityRequest
19-
import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationDelegate
20-
import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationState
21-
import com.processout.sdk.ui.card.tokenization.delegate.toResponse
14+
import com.processout.sdk.ui.card.tokenization.delegate.*
2215
import kotlinx.coroutines.CoroutineScope
2316
import kotlinx.coroutines.launch
2417

@@ -136,7 +129,7 @@ class POCardTokenizationLauncher private constructor(
136129
}
137130

138131
private fun dispatchTokenizedCard() {
139-
eventDispatcher.subscribeForRequest<POCardTokenizationProcessingRequest>(
132+
eventDispatcher.subscribeForRequest<CardTokenizationProcessingRequest>(
140133
coroutineScope = scope
141134
) { request ->
142135
scope.launch {
@@ -164,7 +157,7 @@ class POCardTokenizationLauncher private constructor(
164157
}
165158

166159
private fun dispatchPreferredScheme() {
167-
eventDispatcher.subscribeForRequest<POCardTokenizationPreferredSchemeRequest>(
160+
eventDispatcher.subscribeForRequest<CardTokenizationPreferredSchemeRequest>(
168161
coroutineScope = scope
169162
) { request ->
170163
scope.launch {
@@ -175,7 +168,7 @@ class POCardTokenizationLauncher private constructor(
175168
}
176169

177170
private fun dispatchShouldContinue() {
178-
eventDispatcher.subscribeForRequest<POCardTokenizationShouldContinueRequest>(
171+
eventDispatcher.subscribeForRequest<CardTokenizationShouldContinueRequest>(
179172
coroutineScope = scope
180173
) { request ->
181174
scope.launch {

0 commit comments

Comments
 (0)