commit d60c6d1c1666cbf7b2cef454f35869c838113890
parent 7613dfa6f070e36ca5e98fda21e3af6a5bc6f5e6
Author: Marc Stibane <marc@taler.net>
Date: Mon, 25 Nov 2024 20:48:42 +0100
DepositWireTypesForCurrency
Diffstat:
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