Merge pull request #2554 from hongwei1/develop

refactor/remove unused transactionRequests parameter from JSON creati…
This commit is contained in:
Simon Redfern 2025-06-04 12:42:33 +02:00 committed by GitHub
commit 4e53e925ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 39 deletions

View File

@ -1,12 +1,10 @@
package code.api.STET.v1_4
import java.util.Date
import code.api.util.{APIUtil, CustomJsonFormats}
import code.model.{ModeratedBankAccount, ModeratedTransaction}
import com.openbankproject.commons.model.{BankAccount, TransactionRequest}
import scala.collection.immutable.List
import java.util.Date
object JSONFactory_STET_1_4 extends CustomJsonFormats {
@ -167,11 +165,11 @@ object JSONFactory_STET_1_4 extends CustomJsonFormats {
)
}
def createTransactionsJson(transactions: List[ModeratedTransaction], transactionRequests: List[TransactionRequest]) : TransactionsJsonV1 = {
def createTransactionsJson(transactions: List[ModeratedTransaction], transactionRequests: List[TransactionRequest] = Nil) : TransactionsJsonV1 = {
val transactions_booked: List[TransactionJsonV1] = transactions.map(createTransactionJSON)
val transactions_pending: List[TransactionJsonV1] =transactionRequests.filter(_.status!="COMPLETED").map(createTransactionFromRequestJSON)
// val transactions_pending: List[TransactionJsonV1] =transactionRequests.filter(_.status!="COMPLETED").map(createTransactionFromRequestJSON)
TransactionsJsonV1(
transactions = transactions_booked:::transactions_pending:::Nil
transactions = transactions_booked:::Nil //transactions_pending:::Nil
)
}

View File

@ -12,7 +12,6 @@ import code.api.util.ErrorMessages._
import code.api.util.NewStyle.HttpCode
import code.api.util._
import code.api.util.newstyle.BalanceNewStyle
import code.bankconnectors.Connector
import code.consent.{ConsentStatus, Consents}
import code.context.{ConsentAuthContextProvider, UserAuthContextProvider}
import code.model
@ -615,7 +614,6 @@ Reads account data from a given card account addressed by "account-id".
"transactionDetails": "ICA SUPERMARKET SKOGHA"
}
],
"pending": [],
"_links": {
"cardAccount": {
"href": "/v1.3/card-accounts/3d9a81b3-a47d-4130-8765-a9c0ff861b99"
@ -641,14 +639,14 @@ Reads account data from a given card account addressed by "account-id".
params <- Future { createQueriesByHttpParams(callContext.get.requestHeaders)} map {
x => fullBoxOrException(x ~> APIFailureNewStyle(UnknownError, 400, callContext.map(_.toLight)))
} map { unboxFull(_) }
(transactionRequests, callContext) <- Future { Connector.connector.vend.getTransactionRequests210(u, bankAccount, callContext)} map {
x => fullBoxOrException(x ~> APIFailureNewStyle(InvalidConnectorResponseForGetTransactionRequests210, 400, callContext.map(_.toLight)))
} map { unboxFull(_) }
// (transactionRequests, callContext) <- Future { Connector.connector.vend.getTransactionRequests210(u, bankAccount, callContext)} map {
// x => fullBoxOrException(x ~> APIFailureNewStyle(InvalidConnectorResponseForGetTransactionRequests210, 400, callContext.map(_.toLight)))
// } map { unboxFull(_) }
(transactions, callContext) <- model.toBankAccountExtended(bankAccount).getModeratedTransactionsFuture(bank, Full(u), view, callContext, params) map {
x => fullBoxOrException(x ~> APIFailureNewStyle(UnknownError, 400, callContext.map(_.toLight)))
} map { unboxFull(_) }
} yield {
(JSONFactory_BERLIN_GROUP_1_3.createCardTransactionsJson(bankAccount, transactions, transactionRequests), callContext)
(JSONFactory_BERLIN_GROUP_1_3.createCardTransactionsJson(bankAccount, transactions), callContext)
}
}
}
@ -929,21 +927,6 @@ The ASPSP might add balance information, if transaction lists without balances a
"remittanceInformationUnstructured": "Example 2"
}
],
"pending": [
{
"transactionId": "1234569",
"creditorName": "Claude Renault",
"creditorAccount": {
"iban": "FR7612345987650123456789014"
},
"transactionAmount": {
"currency": "EUR",
"amount": "-100.03"
},
"valueDate": "2017-10-26",
"remittanceInformationUnstructured": "Example 3"
}
],
"_links": {
"account": {
"href": "/v1.3/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f"
@ -969,14 +952,14 @@ The ASPSP might add balance information, if transaction lists without balances a
params <- Future { createQueriesByHttpParams(callContext.get.requestHeaders)} map {
x => fullBoxOrException(x ~> APIFailureNewStyle(UnknownError, 400, callContext.map(_.toLight)))
} map { unboxFull(_) }
(transactionRequests, callContext) <- Future { Connector.connector.vend.getTransactionRequests210(u, bankAccount, callContext)} map {
x => fullBoxOrException(x ~> APIFailureNewStyle(InvalidConnectorResponseForGetTransactionRequests210, 400, callContext.map(_.toLight)))
} map { unboxFull(_) }
// (transactionRequests, callContext) <- Future { Connector.connector.vend.getTransactionRequests210(u, bankAccount, callContext)} map {
// x => fullBoxOrException(x ~> APIFailureNewStyle(InvalidConnectorResponseForGetTransactionRequests210, 400, callContext.map(_.toLight)))
// } map { unboxFull(_) }
(transactions, callContext) <-bankAccount.getModeratedTransactionsFuture(bank, Full(u), view, callContext, params) map {
x => fullBoxOrException(x ~> APIFailureNewStyle(UnknownError, 400, callContext.map(_.toLight)))
} map { unboxFull(_) }
} yield {
(JSONFactory_BERLIN_GROUP_1_3.createTransactionsJson(bankAccount, transactions, transactionRequests), callContext)
(JSONFactory_BERLIN_GROUP_1_3.createTransactionsJson(bankAccount, transactions), callContext)
}
}
}

View File

@ -185,13 +185,13 @@ object JSONFactory_BERLIN_GROUP_1_3 extends CustomJsonFormats with MdcLoggable{
case class TransactionsV13Transactions(
booked: List[TransactionJsonV13],
pending: List[TransactionJsonV13],
pending: Option[List[TransactionJsonV13]] = None,
_links: TransactionsV13TransactionsLinks
)
case class CardTransactionsV13Transactions(
booked: List[CardTransactionJsonV13],
pending: List[CardTransactionJsonV13],
pending: Option[List[CardTransactionJsonV13]] = None,
_links: CardTransactionsLinksV13
)
@ -515,7 +515,7 @@ object JSONFactory_BERLIN_GROUP_1_3 extends CustomJsonFormats with MdcLoggable{
)
}
def createTransactionsJson(bankAccount: BankAccount, transactions: List[ModeratedTransaction], transactionRequests: List[TransactionRequest]) : TransactionsJsonV13 = {
def createTransactionsJson(bankAccount: BankAccount, transactions: List[ModeratedTransaction], transactionRequests: List[TransactionRequest] = Nil) : TransactionsJsonV13 = {
val accountId = bankAccount.accountId.value
val (iban: String, bban: String) = getIbanAndBban(bankAccount)
@ -527,7 +527,7 @@ object JSONFactory_BERLIN_GROUP_1_3 extends CustomJsonFormats with MdcLoggable{
account,
TransactionsV13Transactions(
booked= transactions.map(transaction => createTransactionJSON(bankAccount, transaction)),
pending = transactionRequests.filter(_.status!="COMPLETED").map(transactionRequest => createTransactionFromRequestJSON(bankAccount, transactionRequest)),
pending = None, //transactionRequests.filter(_.status!="COMPLETED").map(transactionRequest => createTransactionFromRequestJSON(bankAccount, transactionRequest)),
_links = TransactionsV13TransactionsLinks(LinkHrefJson(s"/${ConstantsBG.berlinGroupVersion1.apiShortVersion}/accounts/$accountId"))
)
)
@ -559,7 +559,7 @@ object JSONFactory_BERLIN_GROUP_1_3 extends CustomJsonFormats with MdcLoggable{
)
}
def createCardTransactionsJson(bankAccount: BankAccount, transactions: List[ModeratedTransaction], transactionRequests: List[TransactionRequest]) : CardTransactionsJsonV13 = {
def createCardTransactionsJson(bankAccount: BankAccount, transactions: List[ModeratedTransaction], transactionRequests: List[TransactionRequest] = Nil) : CardTransactionsJsonV13 = {
val accountId = bankAccount.accountId.value
val (iban: String, bban: String) = getIbanAndBban(bankAccount)
// get the latest end_date of `COMPLETED` transactionRequests
@ -573,7 +573,7 @@ object JSONFactory_BERLIN_GROUP_1_3 extends CustomJsonFormats with MdcLoggable{
),
CardTransactionsV13Transactions(
booked= transactions.map(t => createCardTransactionJson(t)),
pending = Nil,
pending = None,
_links = CardTransactionsLinksV13(LinkHrefJson(s"/${ConstantsBG.berlinGroupVersion1.apiShortVersion}/card-accounts/$accountId"))
)
)

View File

@ -192,7 +192,7 @@ class AccountInformationServiceAISApiTest extends BerlinGroupServerSetupV1_3 wit
response.code should equal(200)
response.body.extract[TransactionsJsonV13].account.iban should not be ("")
response.body.extract[TransactionsJsonV13].transactions.booked.length >0 should be (true)
response.body.extract[TransactionsJsonV13].transactions.pending.length >0 should be (true)
// response.body.extract[TransactionsJsonV13].transactions.pending.length >0 should be (true)
}
}
@ -221,7 +221,7 @@ class AccountInformationServiceAISApiTest extends BerlinGroupServerSetupV1_3 wit
response.code should equal(200)
response.body.extract[TransactionsJsonV13].account.iban should not be ("")
response.body.extract[TransactionsJsonV13].transactions.booked.length > 0 should be (true)
response.body.extract[TransactionsJsonV13].transactions.pending.length > 0 should be (true)
// response.body.extract[TransactionsJsonV13].transactions.pending.length > 0 should be (true)
val transactionId = response.body.extract[TransactionsJsonV13].transactions.booked.head.transactionId
val requestGet2 = (V1_3_BG / "accounts" / testAccountId.value / "transactions" / transactionId).GET <@ (user1)