summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-09-01 11:12:31 -0300
committerTorsten Grote <t@grobox.de>2020-09-01 11:13:17 -0300
commitc928b458fce0c72c75852ab338a6e4e85a278ed4 (patch)
tree02f70b9be6ca1cc5cb30ad41631bac92d9f49ed0 /wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
parentc59243c9bdabf07137ad0f070b6ecbde57e66466 (diff)
downloadtaler-android-c928b458fce0c72c75852ab338a6e4e85a278ed4.tar.gz
taler-android-c928b458fce0c72c75852ab338a6e4e85a278ed4.tar.bz2
taler-android-c928b458fce0c72c75852ab338a6e4e85a278ed4.zip
[wallet] support the new TalerErrorInfo error format
Yet another last-minute breaking protocol change.
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt21
1 files changed, 7 insertions, 14 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
index 3210093..603b754 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
@@ -28,6 +28,7 @@ import net.taler.common.ContractProduct
import net.taler.lib.common.Amount
import net.taler.lib.common.Timestamp
import net.taler.wallet.R
+import net.taler.wallet.backend.TalerErrorInfo
import net.taler.wallet.cleanExchange
import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer
import net.taler.wallet.transactions.WithdrawalDetails.TalerBankIntegrationApi
@@ -40,7 +41,7 @@ sealed class Transaction {
abstract val transactionId: String
abstract val timestamp: Timestamp
abstract val pending: Boolean
- abstract val error: TransactionError?
+ abstract val error: TalerErrorInfo?
abstract val amountRaw: Amount
abstract val amountEffective: Amount
@@ -65,14 +66,6 @@ sealed class AmountType {
}
@Serializable
-data class TransactionError(
- private val ec: Int,
- private val hint: String? = null,
-) {
- val text get() = if (hint == null) "$ec" else "$ec $hint"
-}
-
-@Serializable
@SerialName("withdrawal")
class TransactionWithdrawal(
override val transactionId: String,
@@ -80,7 +73,7 @@ class TransactionWithdrawal(
override val pending: Boolean,
val exchangeBaseUrl: String,
val withdrawalDetails: WithdrawalDetails,
- override val error: TransactionError? = null,
+ override val error: TalerErrorInfo? = null,
override val amountRaw: Amount,
override val amountEffective: Amount
) : Transaction() {
@@ -137,7 +130,7 @@ class TransactionPayment(
override val pending: Boolean,
val info: TransactionInfo,
val status: PaymentStatus,
- override val error: TransactionError? = null,
+ override val error: TalerErrorInfo? = null,
override val amountRaw: Amount,
override val amountEffective: Amount
) : Transaction() {
@@ -197,7 +190,7 @@ class TransactionRefund(
* Part of the refund that couldn't be applied because the refund permissions were expired
*/
val amountInvalid: Amount? = null,
- override val error: TransactionError? = null,
+ override val error: TalerErrorInfo? = null,
@SerialName("amountEffective") // TODO remove when fixed in wallet-core
override val amountRaw: Amount,
@SerialName("amountRaw") // TODO remove when fixed in wallet-core
@@ -224,7 +217,7 @@ class TransactionTip(
// TODO status: TipStatus,
val exchangeBaseUrl: String,
val merchant: ContractMerchant,
- override val error: TransactionError? = null,
+ override val error: TalerErrorInfo? = null,
override val amountRaw: Amount,
override val amountEffective: Amount
) : Transaction() {
@@ -247,7 +240,7 @@ class TransactionRefresh(
override val timestamp: Timestamp,
override val pending: Boolean,
val exchangeBaseUrl: String,
- override val error: TransactionError? = null,
+ override val error: TalerErrorInfo? = null,
override val amountRaw: Amount,
override val amountEffective: Amount
) : Transaction() {