Skip to content

Commit

Permalink
Merge pull request #45 from dietmap/imporoved-error-handling
Browse files Browse the repository at this point in the history
Improve error handling between mobile app and and user app
  • Loading branch information
koziolk committed Apr 29, 2020
2 parents afe16ed + 6b1610a commit 71368bb
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.dietmap.yaak.api.appstore.subscription

import com.dietmap.yaak.domain.appstore.AppStoreSubscriptionService
import com.dietmap.yaak.domain.checkArgument
import com.dietmap.yaak.domain.userapp.UserAppSubscriptionOrder
import mu.KotlinLogging
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
Expand All @@ -26,6 +27,8 @@ class SubscriptionController(private val subscriptionService: AppStoreSubscripti

val subscriptionOrder = subscriptionService.handleInitialPurchase(subscriptionPurchaseRequest)

checkArgument(subscriptionOrder != null) { "Could not process SubscriptionPurchaseRequest $subscriptionPurchaseRequest in user app" }

logger.debug { "handleInitialPurchase: $subscriptionOrder" }

return ResponseEntity.ok(subscriptionOrder !!)
Expand All @@ -37,6 +40,8 @@ class SubscriptionController(private val subscriptionService: AppStoreSubscripti

val subscriptionOrder = subscriptionService.handleAutoRenewal(subscriptionRenewRequest)

checkArgument(subscriptionOrder != null) { "Could not process SubscriptionRenewRequest $subscriptionRenewRequest in user app" }

logger.debug { "handleAutoRenewal: $subscriptionOrder" }

return ResponseEntity.ok(subscriptionOrder !!)
Expand All @@ -52,6 +57,8 @@ class SubscriptionController(private val subscriptionService: AppStoreSubscripti
try {
val subscriptionOrder = subscriptionService.handleSubscriptionNotification(statusUpdateNotification)

checkArgument(subscriptionOrder != null) { "Could not process StatusUpdateNotification ${statusUpdateNotification.notificationType} in user app" }

logger.debug { "handleStatusUpdateNotification: $subscriptionOrder" }
} catch (ex : Exception) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class AppStoreSubscriptionService(val userAppClient: UserAppClient, val appStore
originalTransactionId = latestReceiptInfo.originalTransactionId,
appMarketplace = AppMarketplace.APP_STORE,
expiryTimeMillis = latestReceiptInfo.expiresDateMs,
discountCode = subscriptionPurchaseRequest.discountCode,
appStoreReceipt = subscriptionPurchaseRequest.receipt
)

Expand Down Expand Up @@ -66,6 +67,7 @@ class AppStoreSubscriptionService(val userAppClient: UserAppClient, val appStore
expiryTimeMillis = latestReceiptInfo.expiresDateMs,
countryCode = null,
currencyCode = null,
discountCode = subscriptionRenewRequest.discountCode,
appStoreReceipt = subscriptionRenewRequest.receipt
)

Expand Down Expand Up @@ -104,9 +106,6 @@ class AppStoreSubscriptionService(val userAppClient: UserAppClient, val appStore
AppStoreNotificationType.DID_CHANGE_RENEWAL_PREF -> {
// auto_renewal_product_id - product customer will auto renew at

// TODO clarify this notification
// Ignore?

// latest_receipt_info.original_transaction_id
}

Expand Down Expand Up @@ -162,10 +161,11 @@ class AppStoreSubscriptionService(val userAppClient: UserAppClient, val appStore
expiryTimeMillis = latestReceiptInfo.expiresDateMs,
countryCode = null,
currencyCode = null,
discountCode = null,
appStoreReceipt = statusUpdateNotification.latestReceipt
)

logger.debug("Sending UserAppSubscriptionNotification: $notification")
logger.debug {"Sending UserAppSubscriptionNotification: $notification" }

return userAppClient.sendSubscriptionNotification(notification)

Expand Down

0 comments on commit 71368bb

Please sign in to comment.