taler-ios

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

commit d60c6d1c1666cbf7b2cef454f35869c838113890
parent 7613dfa6f070e36ca5e98fda21e3af6a5bc6f5e6
Author: Marc Stibane <marc@taler.net>
Date:   Mon, 25 Nov 2024 20:48:42 +0100

DepositWireTypesForCurrency

Diffstat:
MTalerWallet1/Model/Model+Deposit.swift | 20+++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/TalerWallet1/Model/Model+Deposit.swift b/TalerWallet1/Model/Model+Deposit.swift @@ -36,10 +36,24 @@ extension WalletModel { } } // MARK: - Deposit +enum PaytoType: String, Codable { + case unknown + case iban + case bitcoin + case xTalerBank = "x-taler-bank" +} + +struct WireTypeDetails: Codable { + let paymentTargetType: PaytoType + let talerBankHostnames: [String] +} + struct DepositWireTypesForCurrencyResponse: Codable { /// can be used to pre-filter payment target types to offer the user as an input option - let wireTypes: [String] +// let wireTypes: [PaytoType] + let wireTypeDetails: [WireTypeDetails] } + /// A request to get wire types that can be used for a deposit operation. fileprivate struct DepositWireTypesForCurrency: WalletBackendFormattedRequest { typealias Response = DepositWireTypesForCurrencyResponse @@ -56,10 +70,10 @@ fileprivate struct DepositWireTypesForCurrency: WalletBackendFormattedRequest { extension WalletModel { /// Get wire types that can be used for a deposit operation nonisolated func depositWireTypesForCurrency(_ currency: String, scopeInfo: ScopeInfo? = nil, viewHandles: Bool = false) - async throws -> [String] { + async throws -> [WireTypeDetails] { let request = DepositWireTypesForCurrency(currency: currency, scopeInfo: scopeInfo) let response = try await sendRequest(request, ASYNCDELAY, viewHandles: viewHandles) - return response.wireTypes + return response.wireTypeDetails } } // MARK: - max Deposit amount