From 6ea02e472d1293fdacbacc13bbf8df111c73214a Mon Sep 17 00:00:00 2001 From: Victoria Park Date: Fri, 22 Nov 2024 06:58:17 -0800 Subject: [PATCH] Make CoreSDKError Equatable --- .../PayPalWebPayments/PayPalWebViewModel.swift | 2 +- Demo/Demo/ViewModels/CardPaymentViewModel.swift | 2 +- Demo/Demo/ViewModels/CardVaultViewModel.swift | 2 +- Demo/Demo/ViewModels/PayPalVaultViewModel.swift | 2 +- Sources/CardPayments/CardError.swift | 10 +++++----- Sources/CorePayments/CoreSDKError.swift | 2 +- Sources/PayPalWebPayments/PayPalError.swift | 12 ++++++------ 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift b/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift index b33b8ce19..0381d4338 100644 --- a/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift +++ b/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift @@ -73,7 +73,7 @@ class PayPalWebViewModel: ObservableObject { let payPalRequest = PayPalWebCheckoutRequest(orderID: orderID, fundingSource: funding) payPalWebCheckoutClient.start(request: payPalRequest) { result, error in if let error { - if PayPalError.isCheckoutCanceled(error) { + if error == PayPalError.checkoutCanceledError { print("Canceled") self.updateState(.idle) } else { diff --git a/Demo/Demo/ViewModels/CardPaymentViewModel.swift b/Demo/Demo/ViewModels/CardPaymentViewModel.swift index d18aa0017..9c58e83f0 100644 --- a/Demo/Demo/ViewModels/CardPaymentViewModel.swift +++ b/Demo/Demo/ViewModels/CardPaymentViewModel.swift @@ -120,7 +120,7 @@ class CardPaymentViewModel: ObservableObject { let cardRequest = CardRequest(orderID: orderID, card: card, sca: sca) cardClient?.approveOrder(request: cardRequest) { result, error in if let error { - if CardError.isThreeDSecureCanceled(error) { + if error == CardError.threeDSecureCanceledError { self.setApprovalCancelResult() } else { self.setApprovalFailureResult(vaultError: error) diff --git a/Demo/Demo/ViewModels/CardVaultViewModel.swift b/Demo/Demo/ViewModels/CardVaultViewModel.swift index 562d59e75..6d3a6eccc 100644 --- a/Demo/Demo/ViewModels/CardVaultViewModel.swift +++ b/Demo/Demo/ViewModels/CardVaultViewModel.swift @@ -47,7 +47,7 @@ class CardVaultViewModel: VaultViewModel { ) ) } else if let vaultError { - if CardError.isThreeDSecureCanceled(vaultError) { + if let error = vaultError as? CoreSDKError, error == CardError.threeDSecureCanceledError { print("Canceled") self.state.updateSetupTokenResponse = .idle } else { diff --git a/Demo/Demo/ViewModels/PayPalVaultViewModel.swift b/Demo/Demo/ViewModels/PayPalVaultViewModel.swift index f796330ed..aebf4c650 100644 --- a/Demo/Demo/ViewModels/PayPalVaultViewModel.swift +++ b/Demo/Demo/ViewModels/PayPalVaultViewModel.swift @@ -16,7 +16,7 @@ class PayPalVaultViewModel: VaultViewModel { let vaultRequest = PayPalVaultRequest(setupTokenID: setupTokenID) paypalClient.vault(vaultRequest) { result, error in if let error { - if PayPalError.isVaultCanceled(error) { + if error == PayPalError.vaultCanceledError { DispatchQueue.main.async { print("Canceled") self.state.paypalVaultTokenResponse = .idle diff --git a/Sources/CardPayments/CardError.swift b/Sources/CardPayments/CardError.swift index f296e7548..790511711 100644 --- a/Sources/CardPayments/CardError.swift +++ b/Sources/CardPayments/CardError.swift @@ -42,19 +42,19 @@ public enum CardError { case threeDSecureCanceledError } - static let unknownError = CoreSDKError( + public static let unknownError = CoreSDKError( code: Code.unknown.rawValue, domain: domain, errorDescription: "An unknown error has occured. Contact developer.paypal.com/support." ) - static let encodingError = CoreSDKError( + public static let encodingError = CoreSDKError( code: Code.encodingError.rawValue, domain: domain, errorDescription: "An error occured encoding HTTP request body data. Contact developer.paypal.com/support." ) - static let threeDSecureError: (Error) -> CoreSDKError = { error in + public static let threeDSecureError: (Error) -> CoreSDKError = { error in CoreSDKError( code: Code.threeDSecureError.rawValue, domain: domain, @@ -62,13 +62,13 @@ public enum CardError { ) } - static let threeDSecureURLError = CoreSDKError( + public static let threeDSecureURLError = CoreSDKError( code: Code.threeDSecureURLError.rawValue, domain: domain, errorDescription: "An invalid 3DS URL was returned. Contact developer.paypal.com/support." ) - static let threeDSecureCanceledError = CoreSDKError( + public static let threeDSecureCanceledError = CoreSDKError( code: Code.threeDSecureCanceledError.rawValue, domain: domain, errorDescription: "3DS verification has been canceled by the user." diff --git a/Sources/CorePayments/CoreSDKError.swift b/Sources/CorePayments/CoreSDKError.swift index 28c115e89..e550c4381 100644 --- a/Sources/CorePayments/CoreSDKError.swift +++ b/Sources/CorePayments/CoreSDKError.swift @@ -1,7 +1,7 @@ import Foundation /// Error structure that SDK errors conform to -public struct CoreSDKError: Error, LocalizedError { +public struct CoreSDKError: Error, LocalizedError, Equatable { /// The error code. public let code: Int? diff --git a/Sources/PayPalWebPayments/PayPalError.swift b/Sources/PayPalWebPayments/PayPalError.swift index a46674ebd..246eceaf7 100644 --- a/Sources/PayPalWebPayments/PayPalError.swift +++ b/Sources/PayPalWebPayments/PayPalError.swift @@ -31,7 +31,7 @@ public enum PayPalError { case vaultCanceledError } - static let webSessionError: (Error) -> CoreSDKError = { error in + public static let webSessionError: (Error) -> CoreSDKError = { error in CoreSDKError( code: Code.webSessionError.rawValue, domain: domain, @@ -39,31 +39,31 @@ public enum PayPalError { ) } - static let payPalURLError = CoreSDKError( + public static let payPalURLError = CoreSDKError( code: Code.payPalURLError.rawValue, domain: domain, errorDescription: "Error constructing URL for PayPal request." ) - static let malformedResultError = CoreSDKError( + public static let malformedResultError = CoreSDKError( code: Code.malformedResultError.rawValue, domain: domain, errorDescription: "Result did not contain the expected data." ) - static let payPalVaultResponseError = CoreSDKError( + public static let payPalVaultResponseError = CoreSDKError( code: Code.payPalVaultResponseError.rawValue, domain: domain, errorDescription: "Error parsing PayPal vault response" ) - static let checkoutCanceledError = CoreSDKError( + public static let checkoutCanceledError = CoreSDKError( code: Code.checkoutCanceledError.rawValue, domain: domain, errorDescription: "PayPal checkout has been canceled by the user" ) - static let vaultCanceledError = CoreSDKError( + public static let vaultCanceledError = CoreSDKError( code: Code.vaultCanceledError.rawValue, domain: domain, errorDescription: "PayPal vault has been canceled by the user"