From 68995ae8c58ab39cc0e602a2696d58c6c882a1a7 Mon Sep 17 00:00:00 2001 From: Antoine A <> Date: Fri, 5 Apr 2024 12:45:32 +0200 Subject: Add base_url to /config --- API_CHANGES.md | 1 + bank/src/main/kotlin/tech/libeufin/bank/Config.kt | 4 +++- bank/src/main/kotlin/tech/libeufin/bank/Constants.kt | 2 +- bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt | 1 + bank/src/main/kotlin/tech/libeufin/bank/api/CoreBankApi.kt | 1 + contrib/bank.conf | 3 +++ 6 files changed, 10 insertions(+), 2 deletions(-) diff --git a/API_CHANGES.md b/API_CHANGES.md index 5feb4353..33d0cc51 100644 --- a/API_CHANGES.md +++ b/API_CHANGES.md @@ -51,6 +51,7 @@ This files contains all the API changes for the current release: - GET /accounts: new status field - GET /accounts/USERNAME: new status field - GET /monitor: new date_s params +- GET /config: new base_url field for the advertised base URL ## bank cli diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Config.kt b/bank/src/main/kotlin/tech/libeufin/bank/Config.kt index 769e29de..c746c419 100644 --- a/bank/src/main/kotlin/tech/libeufin/bank/Config.kt +++ b/bank/src/main/kotlin/tech/libeufin/bank/Config.kt @@ -32,6 +32,7 @@ private val logger: Logger = LoggerFactory.getLogger("libeufin-bank") /** Configuration for libeufin-bank */ data class BankConfig( val name: String, + val baseUrl: String?, val regionalCurrency: String, val regionalCurrencySpec: CurrencySpecification, val allowRegistration: Boolean, @@ -135,11 +136,12 @@ fun TalerConfig.loadBankConfig(): BankConfig { allowAccountDeletion = lookupBoolean("libeufin-bank", "allow_account_deletion") ?: false, allowEditName = lookupBoolean("libeufin-bank", "allow_edit_name") ?: false, allowEditCashout = lookupBoolean("libeufin-bank", "allow_edit_cashout_payto_uri") ?: false, + allowConversion = allowConversion, defaultDebtLimit = amount("libeufin-bank", "default_debt_limit", regionalCurrency) ?: TalerAmount(0, 0, regionalCurrency), registrationBonus = amount("libeufin-bank", "registration_bonus", regionalCurrency) ?: TalerAmount(0, 0, regionalCurrency), suggestedWithdrawalExchange = lookupString("libeufin-bank", "suggested_withdrawal_exchange"), spaPath = lookupPath("libeufin-bank", "spa"), - allowConversion = allowConversion, + baseUrl = lookupString("libeufin-bank", "base_url"), fiatCurrency = fiatCurrency, fiatCurrencySpec = fiatCurrencySpec, tanChannels = tanChannels, diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt b/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt index 504f068f..4bcd2ee1 100644 --- a/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt +++ b/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt @@ -40,7 +40,7 @@ const val IBAN_ALLOCATION_RETRY_COUNTER: Int = 5 const val MAX_BODY_LENGTH: Long = 4 * 1024 // 4kB // API version -const val COREBANK_API_VERSION: String = "4:6:0" +const val COREBANK_API_VERSION: String = "4:7:0" const val CONVERSION_API_VERSION: String = "0:0:0" const val INTEGRATION_API_VERSION: String = "2:0:2" const val WIRE_GATEWAY_API_VERSION: String = "0:2:0" diff --git a/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt b/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt index eaacda1b..ff17173a 100644 --- a/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt +++ b/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt @@ -291,6 +291,7 @@ data class BearerToken( data class Config( val currency: String, val currency_specification: CurrencySpecification, + val base_url: String?, val bank_name: String, val allow_conversion: Boolean, val allow_registrations: Boolean, diff --git a/bank/src/main/kotlin/tech/libeufin/bank/api/CoreBankApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/api/CoreBankApi.kt index 45689bf0..fc19b26c 100644 --- a/bank/src/main/kotlin/tech/libeufin/bank/api/CoreBankApi.kt +++ b/bank/src/main/kotlin/tech/libeufin/bank/api/CoreBankApi.kt @@ -52,6 +52,7 @@ fun Routing.coreBankApi(db: Database, ctx: BankConfig) { call.respond( Config( bank_name = ctx.name, + base_url = ctx.baseUrl, currency = ctx.regionalCurrency, currency_specification = ctx.regionalCurrencySpec, allow_conversion = ctx.allowConversion, diff --git a/contrib/bank.conf b/contrib/bank.conf index cb95d8c0..a900e426 100644 --- a/contrib/bank.conf +++ b/contrib/bank.conf @@ -6,6 +6,9 @@ CURRENCY = # Supported payment target type, this can either be iban or x-taler-bank WIRE_TYPE = +# The advertised base URL +# BASE_URL = + # Bank BIC used in generated iban payto URI. Required if WIRE_TYPE = iban # IBAN_PAYTO_BIC = -- cgit v1.2.3