taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit 4e7f6ff4bfa078d5e6041e9b86ca8c41c5967429
parent 67763273c03434e9dc3ba9228cad2a66a40567d5
Author: Marc Stibane <marc@taler.net>
Date:   Sat, 10 Feb 2024 15:03:18 +0100

remove reward

Diffstat:
MTalerWallet1/Backend/WalletBackendRequest.swift | 34----------------------------------
MTalerWallet1/Controllers/Controller.swift | 1-
MTalerWallet1/Controllers/DebugViewC.swift | 12+++++-------
MTalerWallet1/Model/Transaction.swift | 25+------------------------
MTalerWallet1/Views/Sheets/Refund/RefundURIView.swift | 2+-
MTalerWallet1/Views/Sheets/URLSheet.swift | 2--
MTalerWallet1/Views/Transactions/TransactionSummaryV.swift | 8--------
7 files changed, 7 insertions(+), 77 deletions(-)

diff --git a/TalerWallet1/Backend/WalletBackendRequest.swift b/TalerWallet1/Backend/WalletBackendRequest.swift @@ -213,40 +213,6 @@ struct WalletBackendConfirmPayRequest: WalletBackendFormattedRequest { struct Response: Decodable {} } - -// MARK: - -/// The result from PrepareReward -struct PrepareRewardResponse: Decodable { - var walletRewardId: String - var accepted: Bool - var rewardAmountRaw: Amount - var rewardAmountEffective: Amount - var exchangeBaseUrl: String - var expirationTimestamp: Timestamp -} -/// A request to prepare a reward. -struct PrepareRewardRequest: WalletBackendFormattedRequest { - typealias Response = PrepareRewardResponse - func operation() -> String { "prepareReward" } - func args() -> Args { Args(talerRewardUri: talerRewardUri) } - - var talerRewardUri: String - struct Args: Encodable { - var talerRewardUri: String - } -} -// MARK: - -/// A request to accept a reward. -struct AcceptRewardRequest: WalletBackendFormattedRequest { - struct Response: Decodable {} - func operation() -> String { "acceptReward" } - func args() -> Args { Args(walletRewardId: walletRewardId) } - - var walletRewardId: String - struct Args: Encodable { - var walletRewardId: String - } -} // MARK: - /// A request to abort a failed payment. struct WalletBackendAbortFailedPaymentRequest: WalletBackendFormattedRequest { diff --git a/TalerWallet1/Controllers/Controller.swift b/TalerWallet1/Controllers/Controller.swift @@ -26,7 +26,6 @@ enum UrlCommand { case payPush case payTemplate case refund - case reward } // MARK: - diff --git a/TalerWallet1/Controllers/DebugViewC.swift b/TalerWallet1/Controllers/DebugViewC.swift @@ -30,7 +30,7 @@ public let VIEW_BALANCES = VIEW_EMPTY + 1 // 11 Balanc public let VIEW_EXCHANGES = VIEW_BALANCES + 1 // 12 ExchangeListView public let VIEW_SETTINGS = VIEW_EXCHANGES + 1 // 13 SettingsView public let VIEW_ABOUT = VIEW_SETTINGS + 1 // 14 AboutView -public let VIEW_PENDING = VIEW_ABOUT + 1 // 15 PendingOpsListView +//public let VIEW_PENDING = VIEW_ABOUT + 1 // 15 PendingOpsListView // MARK: Transactions public let VIEW_TRANSACTIONLIST = VIEW_EMPTY + 10 // 20 TransactionsListView @@ -39,13 +39,13 @@ public let VIEW_TRANSACTIONDETAIL = VIEW_TRANSACTIONSUMMARY + 1 // 22 Transa -// MARK: - Manual Withdrawal (from ExchangeList) +// MARK: - Manual Withdrawal (from Banking / ExchangeList) // receive coins from bank ==> shows IBAN + Purpose/Subject for manual wire transfer public let VIEW_WITHDRAWAL = VIEW_TRANSACTIONLIST + 10 // 30 WithdrawAmount public let VIEW_WITHDRAW_TOS = VIEW_WITHDRAWAL + 1 // 31 WithdrawTOSView public let VIEW_WITHDRAW_ACCEPT = VIEW_WITHDRAW_TOS + 1 // 32 -// MARK: Manual Deposit (from ExchangeList) +// MARK: Manual Deposit (from Banking / ExchangeList) // send coins back to bank account ==> orders exchange to make the wire transfer public let VIEW_DEPOSIT = VIEW_WITHDRAWAL + 10 // 40 Deposit Coins //public let VIEW_DEPOSIT_TOS // - user already accepted the ToS at withdrawal, invoice or receive @@ -94,11 +94,9 @@ public let SHEET_RCV_P2P = SHEET_PAY_P2P + 10 // 160 Recei public let SHEET_RCV_P2P_TOS = SHEET_RCV_P2P + 1 // 161 Receive P2P TOSView public let SHEET_RCV_P2P_ACCEPT = SHEET_RCV_P2P_TOS + 1 // 162 Receive P2P AcceptView -// MARK: Reward - Receive Coins (from merchant) +// MARK: Refund - Get Coins back from merchant // openURL (Link, NFC or scan QR) ==> receive coins from merchant -public let SHEET_RCV_REWARD = SHEET_RCV_P2P + 10 // 170 Receive Reward - -public let SHEET_REFUND = SHEET_RCV_REWARD + 10 // 180 Receive Refunds +public let SHEET_REFUND = SHEET_RCV_P2P + 10 // 170 Receive Refunds extension UIDevice { var hasNotch: Bool { diff --git a/TalerWallet1/Model/Transaction.swift b/TalerWallet1/Model/Transaction.swift @@ -197,7 +197,6 @@ enum TransactionType: String, Codable { case payment case refund case refresh - case reward // get paid for e.g. survey participation // case tip // tip personnel at restaurants case peerPushDebit = "peer-push-debit" // send coins to peer, show QR case scanPushCredit = "peer-push-credit" // scan QR, receive coins from peer @@ -209,7 +208,6 @@ enum TransactionType: String, Codable { var isPayment : Bool { self == .payment } var isRefund : Bool { self == .refund } var isRefresh : Bool { self == .refresh } - var isReward : Bool { self == .reward } var isSendCoins : Bool { self == .peerPushDebit } var isRcvCoins : Bool { self == .scanPushCredit } var isSendInvoice: Bool { self == .peerPullCredit } @@ -217,7 +215,7 @@ enum TransactionType: String, Codable { var isP2pOutgoing: Bool { isSendCoins || isPayInvoice} var isP2pIncoming: Bool { isSendInvoice || isRcvCoins} - var isIncoming : Bool { isP2pIncoming || isWithdrawal || isRefund || isReward } + var isIncoming : Bool { isP2pIncoming || isWithdrawal || isRefund } } struct TransactionCommon: Decodable, Sendable { @@ -243,8 +241,6 @@ struct TransactionCommon: Decodable, Sendable { comment: "TransactionType") case .refresh: return String(localized: "Refresh", comment: "TransactionType") - case .reward: return String(localized: "Reward", - comment: "TransactionType") case .peerPushDebit: return String(localized: "Send Money", comment: "TransactionType, send coins to another wallet") case .scanPushCredit: return String(localized: "Receive Money", @@ -282,7 +278,6 @@ struct TransactionCommon: Decodable, Sendable { func incoming() -> Bool { return type == .withdrawal || type == .refund - || type == .reward || type == .peerPullCredit || type == .scanPushCredit } @@ -375,16 +370,6 @@ struct RefundTransaction : Sendable{ var details: RefundTransactionDetails } -struct RewardTransactionDetails: Decodable { - /// The exchange that the reward will be withdrawn from - var exchangeBaseUrl: String -} - -struct RewardTransaction : Sendable{ - var common: TransactionCommon - var details: RewardTransactionDetails -} - enum RefreshReason: String, Decodable { case manual case payMerchant = "pay-merchant" @@ -445,7 +430,6 @@ enum Transaction: Decodable, Hashable, Identifiable, Sendable { case deposit (DepositTransaction) case payment (PaymentTransaction) case refund (RefundTransaction) - case reward (RewardTransaction) case refresh (RefreshTransaction) case peer2peer (P2PTransaction) @@ -465,9 +449,6 @@ enum Transaction: Decodable, Hashable, Identifiable, Sendable { case .refund: let details = try RefundTransactionDetails.init(from: decoder) self = .refund(RefundTransaction(common: common, details: details)) - case .reward: - let details = try RewardTransactionDetails.init(from: decoder) - self = .reward(RewardTransaction(common: common, details: details)) case .refresh: let details = try RefreshTransactionDetails.init(from: decoder) self = .refresh(RefreshTransaction(common: common, details: details)) @@ -525,7 +506,6 @@ enum Transaction: Decodable, Hashable, Identifiable, Sendable { var isPayment : Bool { common.type == .payment } var isRefund : Bool { common.type == .refund } var isRefresh : Bool { common.type == .refresh } - var isReward : Bool { common.type == .reward } var isSendCoins : Bool { common.type == .peerPushDebit } var isRcvCoins : Bool { common.type == .scanPushCredit } var isSendInvoice: Bool { common.type == .peerPullCredit } @@ -572,7 +552,6 @@ enum Transaction: Decodable, Hashable, Identifiable, Sendable { case .deposit(let depositTransaction): depositTransaction.common case .payment(let paymentTransaction): paymentTransaction.common case .refund(let refundTransaction): refundTransaction.common - case .reward(let rewardTransaction): rewardTransaction.common case .refresh(let refreshTransaction): refreshTransaction.common case .peer2peer(let p2pTransaction): p2pTransaction.common } @@ -593,8 +572,6 @@ enum Transaction: Decodable, Hashable, Identifiable, Sendable { if let info = refundTransaction.details.info { result["summary"] = info.summary } - case .reward(let rewardTransaction): - result[EXCHANGEBASEURL] = rewardTransaction.details.exchangeBaseUrl case .refresh(let refreshTransaction): result["reason"] = refreshTransaction.details.refreshReason.rawValue case .peer2peer(let p2pTransaction): diff --git a/TalerWallet1/Views/Sheets/Refund/RefundURIView.swift b/TalerWallet1/Views/Sheets/Refund/RefundURIView.swift @@ -52,7 +52,7 @@ struct RefundURIView: View { struct RefundURIView_Previews: PreviewProvider { static var previews: some View { let transactionId = "txn:refund:12345" - let url = URL(string: "taler://reward/survey")! + let url = URL(string: "taler://refund/txId")! RefundURIView(stack: CallStack("Preview"), url: url, refundTransactionId: transactionId) } } diff --git a/TalerWallet1/Views/Sheets/URLSheet.swift b/TalerWallet1/Views/Sheets/URLSheet.swift @@ -38,8 +38,6 @@ struct URLSheet: View { PayTemplateView(stack: stack.push(), url: urlToOpen) case .refund: RefundURIView(stack: stack.push(), url: urlToOpen) -// case .reward: -// RewardURIView(url: urlToOpen) default: // Error view VStack { Text("unknown command") diff --git a/TalerWallet1/Views/Transactions/TransactionSummaryV.swift b/TalerWallet1/Views/Transactions/TransactionSummaryV.swift @@ -317,14 +317,6 @@ struct TransactionSummaryV: View { summary: details.info?.summary, merchant: details.info?.merchant.name) } - case .reward(let rewardTransaction): Group { - let details = rewardTransaction.details - ThreeAmountsSheet(stack: stack.push(), - common: common, topAbbrev: String(localized: "Reward:", comment: "mini"), - topTitle: String(localized: "Received Reward:"), - baseURL: details.exchangeBaseUrl, large: true, - summary: nil, merchant: nil) // TODO: summary - } case .refresh(let refreshTransaction): Group { let details = refreshTransaction.details // TODO: details Text(details.refreshReason.rawValue)