From b5dff9665bea8b1801b98904d4907ac438f8d5e8 Mon Sep 17 00:00:00 2001 From: Hongwei Date: Thu, 24 Apr 2025 16:25:49 +0200 Subject: [PATCH] refactor/update foreignMappedBankAccountCurrency to use tryo for safer currency retrieval --- .../code/bankaccountbalance/BankAccountBalance.scala | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala b/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala index 2f7906b73..7bbc19fa5 100644 --- a/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala +++ b/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala @@ -6,6 +6,7 @@ import code.util.{Helper, MappedUUID} import com.openbankproject.commons.model.{AccountId, BalanceId, BankAccountBalanceTrait} import net.liftweb.common.{Box, Empty, Full, Logger} import net.liftweb.mapper._ +import net.liftweb.util.Helpers.tryo class BankAccountBalance extends BankAccountBalanceTrait with LongKeyedMapper[BankAccountBalance] with CreatedUpdated with IdPK { @@ -19,10 +20,12 @@ class BankAccountBalance extends BankAccountBalanceTrait with LongKeyedMapper[Ba //this is the smallest unit of currency! eg. cents, yen, pence, øre, etc. object BalanceAmount extends MappedLong(this) -// val foreignMappedBankAccount: Box[MappedBankAccount] = code.model.dataAccess.MappedBankAccount.find( -// By(MappedBankAccount.theAccountId, AccountId_.get) -// ) - val foreignMappedBankAccountCurrency = "EUR" //foreignMappedBankAccount.map(_.currency).getOrElse("EUR") + val foreignMappedBankAccountCurrency = tryo{code.model.dataAccess.MappedBankAccount + .find( + By(MappedBankAccount.theAccountId, AccountId_.get)) + .map(_.currency) + .getOrElse("EUR") + }.getOrElse("EUR") override def balanceId: BalanceId = BalanceId(BalanceId_.get) override def accountId: AccountId = AccountId(AccountId_.get)