From bcac59447c65aa4ea75a0494bc907fd6ef67489a Mon Sep 17 00:00:00 2001 From: hongwei Date: Tue, 10 Dec 2024 10:29:43 +0100 Subject: [PATCH] refactor/use BankAttributeTrait for connector method --- .../scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala | 2 +- obp-api/src/main/scala/code/api/util/NewStyle.scala | 2 +- .../scala/code/api/v4_0_0/JSONFactory4.0.0.scala | 7 +++---- .../scala/code/api/v5_0_0/JSONFactory5.0.0.scala | 12 ++++++------ .../main/scala/code/bankconnectors/Connector.scala | 2 +- .../code/bankconnectors/LocalMappedConnector.scala | 2 +- .../openbankproject/commons/dto/JsonsTransfer.scala | 3 +++ .../openbankproject/commons/model/CommonModel.scala | 10 ++++++++++ 8 files changed, 26 insertions(+), 14 deletions(-) diff --git a/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala b/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala index e3fe81371..40d51a82e 100644 --- a/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala +++ b/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala @@ -97,7 +97,7 @@ object JSONFactory_MXOF_0_0_1 extends CustomJsonFormats { final val BANK_ATTRIBUTE_LICENSE = "ATM_META_LICENCE" final val BANK_ATTRIBUTE_TERMSOFUSE = "ATM_META_TERMS_OF_USE" - def createGetAtmsResponse (banks: List[Bank], atms: List[AtmT], attributes:List[BankAttribute]) :GetAtmsResponseJson = { + def createGetAtmsResponse (banks: List[Bank], atms: List[AtmT], attributes:List[BankAttributeTrait]) :GetAtmsResponseJson = { def access24HoursIndicator (atm: AtmT) = { atm.OpeningTimeOnMonday.equals(Some("00:00")) && atm.ClosingTimeOnMonday.equals(Some("23:59")) atm.OpeningTimeOnTuesday.equals(Some("00:00")) && atm.ClosingTimeOnTuesday.equals(Some("23:59")) diff --git a/obp-api/src/main/scala/code/api/util/NewStyle.scala b/obp-api/src/main/scala/code/api/util/NewStyle.scala index c8e30f030..6be04dc8e 100644 --- a/obp-api/src/main/scala/code/api/util/NewStyle.scala +++ b/obp-api/src/main/scala/code/api/util/NewStyle.scala @@ -1813,7 +1813,7 @@ object NewStyle extends MdcLoggable{ } } - def getBankAttributesByBank(bank: BankId,callContext: Option[CallContext]): OBPReturnType[List[BankAttribute]] = { + def getBankAttributesByBank(bank: BankId,callContext: Option[CallContext]): OBPReturnType[List[BankAttributeTrait]] = { Connector.connector.vend.getBankAttributesByBank( bank: BankId, callContext: Option[CallContext] diff --git a/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala b/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala index 00bf4c370..1038489db 100644 --- a/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala +++ b/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala @@ -47,7 +47,6 @@ import code.api.v3_1_0.{AccountAttributeResponseJson, CustomerJsonV310, JSONFact import code.apicollection.ApiCollectionTrait import code.apicollectionendpoint.ApiCollectionEndpointTrait import code.atms.Atms.Atm -import code.bankattribute.BankAttribute import code.consent.MappedConsent import code.entitlement.Entitlement import code.loginattempts.LoginAttempt @@ -1200,7 +1199,7 @@ object JSONFactory400 { } - def createBankJSON400(bank: Bank, attributes: List[BankAttribute] = Nil): BankJson400 = { + def createBankJSON400(bank: Bank, attributes: List[BankAttributeTrait] = Nil): BankJson400 = { val obp = BankRoutingJsonV121("OBP", bank.bankId.value) val bic = BankRoutingJsonV121("BIC", bank.swiftBic) val routings = bank.bankRoutingScheme match { @@ -1814,7 +1813,7 @@ object JSONFactory400 { value = productAttribute.value, is_active = productAttribute.isActive ) - def createBankAttributeJson(bankAttribute: BankAttribute): BankAttributeResponseJsonV400 = + def createBankAttributeJson(bankAttribute: BankAttributeTrait): BankAttributeResponseJsonV400 = BankAttributeResponseJsonV400( bank_id = bankAttribute.bankId.value, bank_attribute_id = bankAttribute.bankAttributeId, @@ -1823,7 +1822,7 @@ object JSONFactory400 { value = bankAttribute.value, is_active = bankAttribute.isActive ) - def createBankAttributesJson(bankAttributes: List[BankAttribute]): BankAttributesResponseJsonV400 = + def createBankAttributesJson(bankAttributes: List[BankAttributeTrait]): BankAttributesResponseJsonV400 = BankAttributesResponseJsonV400(bankAttributes.map(createBankAttributeJson)) diff --git a/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala b/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala index 0075b279b..0385494bc 100644 --- a/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala +++ b/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala @@ -37,13 +37,13 @@ import code.api.v1_3_0.JSONFactory1_3_0.{cardActionsToString, createAccountJson, import code.api.v1_3_0.{PinResetJSON, ReplacementJSON} import code.api.v1_4_0.JSONFactory1_4_0.{CustomerFaceImageJson, MetaJsonV140} import code.api.v2_1_0.CustomerCreditRatingJSON -import code.api.v3_0_0.{AdapterInfoJsonV300, CustomerAttributeResponseJsonV300, JSONFactory300} -import code.api.v3_1_0.{AccountAttributeResponseJson, AccountBasicV310, CustomerWithAttributesJsonV310, PhysicalCardWithAttributesJsonV310, PostConsentEntitlementJsonV310} +import code.api.v3_0_0.{CustomerAttributeResponseJsonV300, JSONFactory300} +import code.api.v3_1_0.{AccountBasicV310,PostConsentEntitlementJsonV310} import code.api.v4_0_0.{APIInfoJson400, BankAttributeBankResponseJsonV400, EnergySource400, HostedAt400, HostedBy400} -import code.bankattribute.BankAttribute import code.consent.ConsentRequest -import com.openbankproject.commons.model.CustomerAccountLinkTrait -import com.openbankproject.commons.model.{AccountAttribute, AccountRouting, AccountRoutingJsonV121, AmountOfMoneyJsonV121, Bank, BankAccount, CardAttribute, CreateViewJson, Customer, CustomerAttribute, InboundAdapterInfoInternal, InboundStatusMessage, PhysicalCardTrait, UpdateViewJSON, User, UserAuthContext, UserAuthContextUpdate, View, ViewBasic} +import com.openbankproject.commons.model.{CustomerAccountLinkTrait,BankAttributeTrait} +import com.openbankproject.commons.model.{AccountAttribute, AccountRoutingJsonV121, AmountOfMoneyJsonV121, Bank, BankAccount, CardAttribute, CreateViewJson, Customer, CustomerAttribute, InboundAdapterInfoInternal, + InboundStatusMessage, PhysicalCardTrait, UpdateViewJSON, User, UserAuthContext, UserAuthContextUpdate, View, ViewBasic} import com.openbankproject.commons.util.ApiVersion import net.liftweb.json.JsonAST.JValue import net.liftweb.util.Helpers @@ -599,7 +599,7 @@ object JSONFactory500 { ) } - def createBankJSON500(bank: Bank, attributes: List[BankAttribute] = Nil): BankJson500 = { + def createBankJSON500(bank: Bank, attributes: List[BankAttributeTrait] = Nil): BankJson500 = { val obp = BankRoutingJsonV121("OBP", bank.bankId.value) val bic = BankRoutingJsonV121("BIC", bank.swiftBic) val routings = bank.bankRoutingScheme match { diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala index 87ef777ce..a9a2eb71b 100644 --- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala @@ -1302,7 +1302,7 @@ trait Connector extends MdcLoggable { callContext: Option[CallContext] ): OBPReturnType[Box[AtmAttribute]] = Future{(Failure(setUnimplementedError(nameOf(createOrUpdateAtmAttribute _))), callContext)} - def getBankAttributesByBank(bank: BankId, callContext: Option[CallContext]): OBPReturnType[Box[List[BankAttribute]]] = + def getBankAttributesByBank(bank: BankId, callContext: Option[CallContext]): OBPReturnType[Box[List[BankAttributeTrait]]] = Future{(Failure(setUnimplementedError(nameOf(getBankAttributesByBank _))), callContext)} def getAtmAttributesByAtm(bank: BankId, atm: AtmId, callContext: Option[CallContext]): OBPReturnType[Box[List[AtmAttribute]]] = diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index 7fd901239..484f6767f 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -3524,7 +3524,7 @@ object LocalMappedConnector extends Connector with MdcLoggable { } - override def getBankAttributesByBank(bank: BankId, callContext: Option[CallContext]): OBPReturnType[Box[List[BankAttribute]]] = + override def getBankAttributesByBank(bank: BankId, callContext: Option[CallContext]): OBPReturnType[Box[List[BankAttributeTrait]]] = BankAttributeX.bankAttributeProvider.vend.getBankAttributesFromProvider(bank: BankId) map { (_, callContext) } diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala b/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala index 424b16f3a..71f297287 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala @@ -1146,6 +1146,9 @@ case class InBoundGetTransactionIdsByAttributeNameValues(inboundAdapterCallConte case class OutBoundGetTransactionAttributes(outboundAdapterCallContext: OutboundAdapterCallContext, bankId: BankId, transactionId: TransactionId) extends TopicTrait case class InBoundGetTransactionAttributes(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: List[TransactionAttributeCommons]) extends InBoundTrait[List[TransactionAttributeCommons]] +case class OutBoundGetBankAttributesByBank(outboundAdapterCallContext: OutboundAdapterCallContext, bankId: BankId) extends TopicTrait +case class InBoundGetBankAttributesByBank(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: List[TransactionAttributeCommons]) extends InBoundTrait[List[TransactionAttributeCommons]] + case class OutBoundGetCustomerAttributeById(outboundAdapterCallContext: OutboundAdapterCallContext, customerAttributeId: String) extends TopicTrait case class InBoundGetCustomerAttributeById(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: CustomerAttributeCommons) extends InBoundTrait[CustomerAttributeCommons] diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala index 0fce669ce..9a7bf9327 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala @@ -509,6 +509,16 @@ case class TransactionAttributeCommons ( ) extends TransactionAttribute object TransactionAttributeCommons extends Converter[TransactionAttribute, TransactionAttributeCommons] +case class BankAttributeCommons ( + override val bankId: BankId, + override val bankAttributeId: String, + override val attributeType: BankAttributeType.Value, + override val name: String, + override val value: String, + override val isActive: Option[Boolean] +) extends BankAttributeTrait +object BankAttributeCommons extends Converter[BankAttributeTrait, BankAttributeCommons] + case class FXRateCommons ( override val bankId : BankId, override val fromCurrencyCode: String,