From 7267565179b0919c553939d94258a97fe150ae7c Mon Sep 17 00:00:00 2001 From: shuang Date: Wed, 8 Jul 2020 20:42:19 +0800 Subject: [PATCH 01/13] bugfix/validateChallengeAnswer_and_createChallenge_connectoEndpoint_return_wrong_data: fixed --- .../com/openbankproject/commons/util/ReflectUtils.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala index 3a1c4b793..cd7d84f80 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala @@ -631,8 +631,8 @@ object ReflectUtils { case it: Iterable[_] => it.map(toValueObject) case array: Array[_] => array.map(toValueObject) case v if getType(v).typeSymbol.asClass.isCaseClass => v - case other => { - val mirrorObj = mirror.reflect(other) + case obpObj if ReflectUtils.isObpObject(obpObj) => { + val mirrorObj = mirror.reflect(obpObj) mirrorObj.symbol.info.decls .filter(it => it.isMethod && it.isPublic && it.name.toString != "getSingleton") .filterNot(_.isConstructor) @@ -650,6 +650,7 @@ object ReflectUtils { }) .toMap } + case x => x } } From d9d88b74287fe2f9a58b7159885a5d723a924ddd Mon Sep 17 00:00:00 2001 From: hongwei Date: Fri, 10 Jul 2020 10:08:44 +0200 Subject: [PATCH 02/13] feature/first commented the maskedPan method, there is not proper data from adapter --- .../api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala index 5e5b22f7e..ad3df6015 100644 --- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala +++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala @@ -365,14 +365,14 @@ object JSONFactory_BERLIN_GROUP_1_3 extends CustomJsonFormats { val address = transaction.otherBankAccount.map(_.accountRoutingAddress).getOrElse(None).getOrElse("") val scheme: String = transaction.otherBankAccount.map(_.accountRoutingScheme).getOrElse(None).getOrElse("") - val (iban, bban, pan, maskedPan, currency) = extractAccountData(scheme, address) +// val (iban, bban, pan, maskedPan, currency) = extractAccountData(scheme, address) CardTransactionJsonV13( cardTransactionId = transaction.id.value, transactionAmount = AmountOfMoneyV13(APIUtil.stringOptionOrNull(transaction.currency), transaction.amount.get.toString()), transactionDate = transaction.finishDate.get, bookingDate = transaction.startDate.get, originalAmount = AmountOfMoneyV13(orignalCurrency, orignalBalnce), - maskedPan = maskedPan, + maskedPan = "", proprietaryBankTransactionCode = "", invoiced = true, transactionDetails = APIUtil.stringOptionOrNull(transaction.description) From 026667b57dfe7dfb2a7334b0f10bf77e4d54c942 Mon Sep 17 00:00:00 2001 From: hongwei Date: Sat, 11 Jul 2020 18:13:48 +0200 Subject: [PATCH 03/13] bugfix/changed accountID-> accountId for the connectorEndpoints --- .../scala/code/api/util/ExampleValue.scala | 2 +- .../main/scala/code/api/util/NewStyle.scala | 4 ++-- .../scala/code/api/v2_0_0/APIMethods200.scala | 2 +- .../scala/code/bankconnectors/Connector.scala | 10 ++++----- .../bankconnectors/LocalMappedConnector.scala | 4 ++-- .../akka/AkkaConnector_vDec2018.scala | 6 ++--- .../rest/RestConnector_vMar2019.scala | 22 +++++++++---------- .../StoredProcedureConnector_vDec2019.scala | 10 ++++----- .../commons/dto/JsonsTransfer.scala | 6 ++--- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/obp-api/src/main/scala/code/api/util/ExampleValue.scala b/obp-api/src/main/scala/code/api/util/ExampleValue.scala index a439a67f7..fe4f73767 100644 --- a/obp-api/src/main/scala/code/api/util/ExampleValue.scala +++ b/obp-api/src/main/scala/code/api/util/ExampleValue.scala @@ -25,7 +25,7 @@ object ExampleValue { lazy val bankIdExample = ConnectorField("gh.29.uk", s"A string that MUST uniquely identify the bank on this OBP instance. It COULD be a UUID but is generally a short string that easily identifies the bank / brand it represents.") lazy val bank_idExample = bankIdExample - lazy val accountIdExample = ConnectorField("8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", s"A string that, in combination with the bankId MUST uniquely identify the account on this OBP instance. SHOULD be a UUID. MUST NOT be able to guess accountNumber from accountID. OBP-API or Adapter keeps a mapping between accountId and accountNumber. AccountId is a non reversible hash of the human readable account number.") + lazy val accountIdExample = ConnectorField("8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", s"A string that, in combination with the bankId MUST uniquely identify the account on this OBP instance. SHOULD be a UUID. MUST NOT be able to guess accountNumber from accountId. OBP-API or Adapter keeps a mapping between accountId and accountNumber. AccountId is a non reversible hash of the human readable account number.") lazy val account_idExample = accountIdExample 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 57f878578..5317e3d53 100644 --- a/obp-api/src/main/scala/code/api/util/NewStyle.scala +++ b/obp-api/src/main/scala/code/api/util/NewStyle.scala @@ -251,8 +251,8 @@ object NewStyle { callContext: Option[CallContext]): Future[ModeratedOtherBankAccount] = Future(account.moderatedOtherBankAccount(counterpartyId, view, BankIdAccountId(account.bankId, account.accountId), user, callContext)) map { connectorEmptyResponse(_, callContext) } - def getTransactionsCore(bankId: BankId, accountID: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[List[TransactionCore]] = - Connector.connector.vend.getTransactionsCore(bankId: BankId, accountID: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]) map { i => + def getTransactionsCore(bankId: BankId, accountId: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[List[TransactionCore]] = + Connector.connector.vend.getTransactionsCore(bankId: BankId, accountId: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]) map { i => (unboxFullOrFail(i._1, callContext,s"$InvalidConnectorResponseForGetTransactions", 400 ), i._2) } def checkOwnerViewAccessAndReturnOwnerView(user: User, bankAccountId: BankIdAccountId, callContext: Option[CallContext]) : Future[View] = { diff --git a/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala b/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala index 48bd2c35e..dc59bf0a5 100644 --- a/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala +++ b/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala @@ -893,7 +893,7 @@ trait APIMethods200 { case "my" :: "banks" :: BankId(bankId) :: "accounts" :: AccountId(accountId) :: "account" :: Nil JsonGet req => { cc => - // TODO return specific error if bankId == "BANK_ID" or accountID == "ACCOUNT_ID" + // TODO return specific error if bankId == "BANK_ID" or accountId == "ACCOUNT_ID" // Should be a generic guard we can use for all calls (also for userId etc.) for { u <- cc.user ?~ UserNotLoggedIn diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala index 4d57c897f..096287264 100644 --- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala @@ -511,16 +511,16 @@ trait Connector extends MdcLoggable { //TODO, here is a problem for return value `List[Transaction]`, this is a normal class, not a trait. It is a big class, // it contains thisAccount(BankAccount object) and otherAccount(Counterparty object) - def getTransactionsLegacy(bankId: BankId, accountID: AccountId, callContext: Option[CallContext], queryParams: List[OBPQueryParam] = Nil): Box[(List[Transaction], Option[CallContext])]= Failure(setUnimplementedError) + def getTransactionsLegacy(bankId: BankId, accountId: AccountId, callContext: Option[CallContext], queryParams: List[OBPQueryParam] = Nil): Box[(List[Transaction], Option[CallContext])]= Failure(setUnimplementedError) def getTransactions(bankId: BankId, accountId: AccountId, callContext: Option[CallContext], queryParams: List[OBPQueryParam] = Nil): OBPReturnType[Box[List[Transaction]]] = { val result: Box[(List[Transaction], Option[CallContext])] = getTransactionsLegacy(bankId, accountId, callContext, queryParams) Future(result.map(_._1), result.map(_._2).getOrElse(callContext)) } - def getTransactionsCore(bankId: BankId, accountID: AccountId, queryParams: List[OBPQueryParam] = Nil, callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = Future{(Failure(setUnimplementedError), callContext)} + def getTransactionsCore(bankId: BankId, accountId: AccountId, queryParams: List[OBPQueryParam] = Nil, callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = Future{(Failure(setUnimplementedError), callContext)} - def getTransactionLegacy(bankId: BankId, accountID : AccountId, transactionId : TransactionId, callContext: Option[CallContext] = None): Box[(Transaction, Option[CallContext])] = Failure(setUnimplementedError) - def getTransaction(bankId: BankId, accountID : AccountId, transactionId : TransactionId, callContext: Option[CallContext] = None): OBPReturnType[Box[Transaction]] = { - val result: Box[(Transaction, Option[CallContext])] = getTransactionLegacy(bankId, accountID, transactionId, callContext) + def getTransactionLegacy(bankId: BankId, accountId : AccountId, transactionId : TransactionId, callContext: Option[CallContext] = None): Box[(Transaction, Option[CallContext])] = Failure(setUnimplementedError) + def getTransaction(bankId: BankId, accountId : AccountId, transactionId : TransactionId, callContext: Option[CallContext] = None): OBPReturnType[Box[Transaction]] = { + val result: Box[(Transaction, Option[CallContext])] = getTransactionLegacy(bankId, accountId, transactionId, callContext) Future(result.map(_._1), result.map(_._2).getOrElse(callContext)) } diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index 11cb43448..de0eb57e1 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -3265,8 +3265,8 @@ object LocalMappedConnector extends Connector with MdcLoggable { } - override def getTransaction(bankId: BankId, accountID: AccountId, transactionId: TransactionId, callContext: Option[CallContext] = None): OBPReturnType[Box[Transaction]] = { - val result: Box[(Transaction, Option[CallContext])] = getTransactionLegacy(bankId, accountID, transactionId, callContext) + override def getTransaction(bankId: BankId, accountId: AccountId, transactionId: TransactionId, callContext: Option[CallContext] = None): OBPReturnType[Box[Transaction]] = { + val result: Box[(Transaction, Option[CallContext])] = getTransactionLegacy(bankId, accountId, transactionId, callContext) Future(result.map(_._1), result.map(_._2).getOrElse(callContext)) } diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala index 43a2ba85a..a0f0e9520 100644 --- a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala +++ b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala @@ -946,7 +946,7 @@ object AkkaConnector_vDec2018 extends Connector with AkkaConnectorActorInit { exampleOutboundMessage = ( OutBoundGetTransactionsCore(outboundAdapterCallContext=MessageDocsSwaggerDefinitions.outboundAdapterCallContext, bankId=BankId(bankIdExample.value), - accountID=AccountId(accountIdExample.value), + accountId=AccountId(accountIdExample.value), limit=limitExample.value.toInt, offset=offsetExample.value.toInt, fromDate="string", @@ -996,9 +996,9 @@ object AkkaConnector_vDec2018 extends Connector with AkkaConnectorActorInit { adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) - override def getTransactionsCore(bankId: BankId, accountID: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = { + override def getTransactionsCore(bankId: BankId, accountId: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = { import com.openbankproject.commons.dto.{OutBoundGetTransactionsCore => OutBound, InBoundGetTransactionsCore => InBound} - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountID, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) val response: Future[Box[InBound]] = (southSideActor ? req).mapTo[InBound].recoverWith(recoverFunction).map(Box !! _) response.map(convertToTuple[List[TransactionCore]](callContext)) } diff --git a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala index f43d2db07..5ee868643 100644 --- a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala +++ b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala @@ -2202,7 +2202,7 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable emailAddress=emailExample.value, name=usernameExample.value))))))))), bankId=BankId(bankIdExample.value), - accountID=AccountId(accountIdExample.value), + accountId=AccountId(accountIdExample.value), limit=limitExample.value.toInt, offset=offsetExample.value.toInt, fromDate="string", @@ -2261,10 +2261,10 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) // url example: /getTransactionsLegacy - override def getTransactionsLegacy(bankId: BankId, accountID: AccountId, callContext: Option[CallContext], queryParams: List[OBPQueryParam]): Box[(List[Transaction], Option[CallContext])] = { + override def getTransactionsLegacy(bankId: BankId, accountId: AccountId, callContext: Option[CallContext], queryParams: List[OBPQueryParam]): Box[(List[Transaction], Option[CallContext])] = { import com.openbankproject.commons.dto.{OutBoundGetTransactionsLegacy => OutBound, InBoundGetTransactionsLegacy => InBound} val url = getUrl(callContext, "getTransactionsLegacy") - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountID, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountId, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) val result: OBPReturnType[Box[List[Transaction]]] = sendRequest[InBound](url, HttpMethods.POST, req, callContext).map(convertToTuple(callContext)) result } @@ -2406,7 +2406,7 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable emailAddress=emailExample.value, name=usernameExample.value))))))))), bankId=BankId(bankIdExample.value), - accountID=AccountId(accountIdExample.value), + accountId=AccountId(accountIdExample.value), limit=limitExample.value.toInt, offset=offsetExample.value.toInt, fromDate="string", @@ -2463,10 +2463,10 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) // url example: /getTransactionsCore - override def getTransactionsCore(bankId: BankId, accountID: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = { + override def getTransactionsCore(bankId: BankId, accountId: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = { import com.openbankproject.commons.dto.{OutBoundGetTransactionsCore => OutBound, InBoundGetTransactionsCore => InBound} val url = getUrl(callContext, "getTransactionsCore") - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountID, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountId, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) val result: OBPReturnType[Box[List[TransactionCore]]] = sendRequest[InBound](url, HttpMethods.POST, req, callContext).map(convertToTuple(callContext)) result } @@ -2506,7 +2506,7 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable emailAddress=emailExample.value, name=usernameExample.value))))))))), bankId=BankId(bankIdExample.value), - accountID=AccountId(accountIdExample.value), + accountId=AccountId(accountIdExample.value), transactionId=TransactionId(transactionIdExample.value)) ), exampleInboundMessage = ( @@ -2562,10 +2562,10 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) // url example: /getTransactionLegacy - override def getTransactionLegacy(bankId: BankId, accountID: AccountId, transactionId: TransactionId, callContext: Option[CallContext]): Box[(Transaction, Option[CallContext])] = { + override def getTransactionLegacy(bankId: BankId, accountId: AccountId, transactionId: TransactionId, callContext: Option[CallContext]): Box[(Transaction, Option[CallContext])] = { import com.openbankproject.commons.dto.{OutBoundGetTransactionLegacy => OutBound, InBoundGetTransactionLegacy => InBound} val url = getUrl(callContext, "getTransactionLegacy") - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountID, transactionId) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountId, transactionId) val result: OBPReturnType[Box[Transaction]] = sendRequest[InBound](url, HttpMethods.POST, req, callContext).map(convertToTuple(callContext)) result } @@ -2661,10 +2661,10 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) // url example: /getTransaction - override def getTransaction(bankId: BankId, accountID: AccountId, transactionId: TransactionId, callContext: Option[CallContext]): OBPReturnType[Box[Transaction]] = { + override def getTransaction(bankId: BankId, accountId: AccountId, transactionId: TransactionId, callContext: Option[CallContext]): OBPReturnType[Box[Transaction]] = { import com.openbankproject.commons.dto.{OutBoundGetTransaction => OutBound, InBoundGetTransaction => InBound} val url = getUrl(callContext, "getTransaction") - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountID, transactionId) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull , bankId, accountId, transactionId) val result: OBPReturnType[Box[Transaction]] = sendRequest[InBound](url, HttpMethods.POST, req, callContext).map(convertToTuple(callContext)) result } diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala index 6076beb33..f8c525432 100644 --- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala +++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala @@ -1050,7 +1050,7 @@ trait StoredProcedureConnector_vDec2019 extends Connector with MdcLoggable { exampleOutboundMessage = ( OutBoundGetTransactionsCore(outboundAdapterCallContext=MessageDocsSwaggerDefinitions.outboundAdapterCallContext, bankId=BankId(bankIdExample.value), - accountID=AccountId(accountIdExample.value), + accountId=AccountId(accountIdExample.value), limit=limitExample.value.toInt, offset=offsetExample.value.toInt, fromDate="string", @@ -1100,9 +1100,9 @@ trait StoredProcedureConnector_vDec2019 extends Connector with MdcLoggable { adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) - override def getTransactionsCore(bankId: BankId, accountID: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = { + override def getTransactionsCore(bankId: BankId, accountId: AccountId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[TransactionCore]]] = { import com.openbankproject.commons.dto.{OutBoundGetTransactionsCore => OutBound, InBoundGetTransactionsCore => InBound} - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountID, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, OBPQueryParam.getLimit(queryParams), OBPQueryParam.getOffset(queryParams), OBPQueryParam.getFromDate(queryParams), OBPQueryParam.getToDate(queryParams)) val response: Future[Box[InBound]] = sendRequest[InBound]("obp_get_transactions_core", req, callContext) response.map(convertToTuple[List[TransactionCore]](callContext)) } @@ -1166,9 +1166,9 @@ trait StoredProcedureConnector_vDec2019 extends Connector with MdcLoggable { adapterImplementation = Some(AdapterImplementation("- Core", 1)) ) - override def getTransaction(bankId: BankId, accountID: AccountId, transactionId: TransactionId, callContext: Option[CallContext]): OBPReturnType[Box[Transaction]] = { + override def getTransaction(bankId: BankId, accountId: AccountId, transactionId: TransactionId, callContext: Option[CallContext]): OBPReturnType[Box[Transaction]] = { import com.openbankproject.commons.dto.{OutBoundGetTransaction => OutBound, InBoundGetTransaction => InBound} - val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountID, transactionId) + val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, transactionId) val response: Future[Box[InBound]] = sendRequest[InBound]("obp_get_transaction", req, callContext) response.map(convertToTuple[Transaction](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 f1b10b47a..0e75df8df 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 @@ -482,7 +482,7 @@ case class OutBoundGetTransactionRequests210(outboundAdapterCallContext: Outboun case class InBoundGetTransactionRequests210(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: List[TransactionRequest]) extends InBoundTrait[List[TransactionRequest]] -case class OutBoundGetTransactionsCore(outboundAdapterCallContext: OutboundAdapterCallContext, bankId: BankId, accountID: AccountId, limit: Int, offset: Int, fromDate: String, toDate: String) extends TopicTrait +case class OutBoundGetTransactionsCore(outboundAdapterCallContext: OutboundAdapterCallContext, bankId: BankId, accountId: AccountId, limit: Int, offset: Int, fromDate: String, toDate: String) extends TopicTrait case class InBoundGetTransactionsCore(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: List[TransactionCore]) extends InBoundTrait[List[TransactionCore]] //-------- return type are not Future-------------------------------------------------------------------------------------------------- @@ -875,7 +875,7 @@ case class InBoundGetCounterpartiesLegacy (inboundAdapterCallContext: InboundAda case class OutBoundGetTransactionsLegacy (outboundAdapterCallContext: OutboundAdapterCallContext, bankId: BankId, - accountID: AccountId, + accountId: AccountId, limit: Int, offset: Int, fromDate: String, @@ -885,7 +885,7 @@ case class InBoundGetTransactionsLegacy (inboundAdapterCallContext: InboundAdapt case class OutBoundGetTransactionLegacy (outboundAdapterCallContext: OutboundAdapterCallContext, bankId: BankId, - accountID: AccountId, + accountId: AccountId, transactionId: TransactionId) extends TopicTrait case class InBoundGetTransactionLegacy (inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: Transaction) extends InBoundTrait[Transaction] From f30456930574713ef8cf0261327f7974b6884fd5 Mon Sep 17 00:00:00 2001 From: hongwei Date: Sat, 11 Jul 2020 21:41:16 +0200 Subject: [PATCH 04/13] bugfix/tweaked the document, counterpartyId is a mandatory field in Counterparty --- .../scala/com/openbankproject/commons/model/BankingModel.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/BankingModel.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/BankingModel.scala index aa181b9c5..78c9e1666 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/model/BankingModel.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/BankingModel.scala @@ -244,7 +244,6 @@ case class Counterparty( val kind: String, // Type of bank account. // The following fields started from V210 - @ignore val counterpartyId: String, val counterpartyName: String, val thisBankId: BankId, // i.e. the Account that sends/receives money to/from this Counterparty From 8a27cf3679e0f9e0e861bba231e60734c83b66a4 Mon Sep 17 00:00:00 2001 From: hongwei Date: Sat, 11 Jul 2020 21:43:05 +0200 Subject: [PATCH 05/13] docfix/update the obp-commons version --- obp-api/pom.xml | 2 +- .../RestConnector_vMar2019_frozen_meta_data | Bin 95783 -> 95783 bytes obp-commons/pom.xml | 2 +- pom.xml | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/obp-api/pom.xml b/obp-api/pom.xml index 07f1460ce..127648da7 100644 --- a/obp-api/pom.xml +++ b/obp-api/pom.xml @@ -8,7 +8,7 @@ com.tesobe obp-parent ../pom.xml - 1.5.7 + 1.5.8 obp-api war diff --git a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_frozen_meta_data b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_frozen_meta_data index 0462ccfd5775fd735b308490cef811ed284fc7c0..03cfbf085c5bc9d033743e52f4c074f3adcfae83 100644 GIT binary patch delta 59 zcmZ4fhIRQH)(tAFr@JvR-kpA#l~H-JLIcZYjWycV+yA9AvNBGN6jGinaFcy=(~GAi M5TWfkag4jg0o<$?*Z=?k delta 71 zcmZ4fhIRQH)(tAF8C|BkGcn$oewmd~d9p$S%Vv!=+SZINlOKLGoNkc8czJT9kn&`K Uo9vsLUOX*965pN^$GBS@02Fo|lK=n! diff --git a/obp-commons/pom.xml b/obp-commons/pom.xml index bee3592f5..2954d93ba 100644 --- a/obp-commons/pom.xml +++ b/obp-commons/pom.xml @@ -7,7 +7,7 @@ com.tesobe obp-parent ../pom.xml - 1.5.7 + 1.5.8 obp-commons jar diff --git a/pom.xml b/pom.xml index 0f1226978..c894a2592 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.tesobe obp-parent - 1.5.7 + 1.5.8 pom Open Bank Project API Parent 2011 From 3818424681ac69cb7d95c58ffb7d0aaba746a21a Mon Sep 17 00:00:00 2001 From: hongwei Date: Mon, 13 Jul 2020 14:24:09 +0200 Subject: [PATCH 06/13] bugfix/implemented the checkExternalUserCredentials in mapped connector --- .../main/scala/code/bankconnectors/LocalMappedConnector.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index de0eb57e1..1bf1f063f 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -4182,5 +4182,8 @@ object LocalMappedConnector extends Connector with MdcLoggable { CustomerAttributeX.customerAttributeProvider.vend.deleteCustomerAttribute(customerAttributeId) map { ( _, callContext) } } + //NOTE: this method is not for mapped connector, we put it here for the star default implementation. + // : we call that method only when we set external authentication and provider is not OBP-API + override def checkExternalUserCredentials(username: String, password: String, callContext: Option[CallContext]): Box[InboundExternalUser] = Failure("") } From 1e7258ecdff5df4a4dc0393b6845cdf2318c349c Mon Sep 17 00:00:00 2001 From: hongwei Date: Mon, 13 Jul 2020 15:37:12 +0200 Subject: [PATCH 07/13] bugfix/tweaked the connector match Regular expression to support `star` --- obp-api/src/main/scala/code/util/Helper.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/obp-api/src/main/scala/code/util/Helper.scala b/obp-api/src/main/scala/code/util/Helper.scala index c934f43f5..4df07ca4e 100644 --- a/obp-api/src/main/scala/code/util/Helper.scala +++ b/obp-api/src/main/scala/code/util/Helper.scala @@ -239,9 +239,9 @@ object Helper{ /** * Used for version extraction from props string */ - val matchKafkaVersion = "kafka_v([0-9a-zA-Z_]+)".r - val matchAnyKafka = "^kafka.*$".r - val matchAnyStoredProcedure = "^stored_procedure.*$".r + val matchKafkaVersion = "kafka_v([0-9a-zA-Z_]+)|^star$".r + val matchAnyKafka = "^(kafka.*|star)$|^star$".r + val matchAnyStoredProcedure = "^stored_procedure.*$|^star$".r /** * change the TimeZone to the current TimeZOne From d42dda9089a53e081eec8cc849e04f2668d36e57 Mon Sep 17 00:00:00 2001 From: hongwei Date: Mon, 13 Jul 2020 22:10:31 +0200 Subject: [PATCH 08/13] feature/added the webui_header_content_url props --- obp-api/src/main/scala/code/snippet/WebUI.scala | 3 +++ obp-api/src/main/webapp/templates-hidden/default.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/obp-api/src/main/scala/code/snippet/WebUI.scala b/obp-api/src/main/scala/code/snippet/WebUI.scala index e063d2811..55d5a752c 100644 --- a/obp-api/src/main/scala/code/snippet/WebUI.scala +++ b/obp-api/src/main/scala/code/snippet/WebUI.scala @@ -339,6 +339,9 @@ class WebUI extends MdcLoggable{ contentLoader("webui_about_vendor_content_url", "about-vendor") } + def headerContentLoader: NodeSeq = { + contentLoader("webui_header_content_url", "table-header") + } // This load content directly into the div that calls it. def getStartedDirectContentLoader: NodeSeq = { diff --git a/obp-api/src/main/webapp/templates-hidden/default.html b/obp-api/src/main/webapp/templates-hidden/default.html index 1d1a18e12..bf74f2003 100644 --- a/obp-api/src/main/webapp/templates-hidden/default.html +++ b/obp-api/src/main/webapp/templates-hidden/default.html @@ -78,7 +78,7 @@ Berlin 13359, Germany - +