mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 17:37:00 +00:00
feature/added mConsentReferenceId in TransactionRequest table
This commit is contained in:
parent
4dd90baeae
commit
aa5268fbfb
@ -1100,7 +1100,7 @@ trait APIMethods400 extends MdcLoggable {
|
||||
}
|
||||
|
||||
account = BankIdAccountId(fromAccount.bankId, fromAccount.accountId)
|
||||
_ <- NewStyle.function.checkAuthorisationToCreateTransactionRequest(viewId, account, u, callContext)
|
||||
// _ <- NewStyle.function.checkAuthorisationToCreateTransactionRequest(viewId, account, u, callContext)
|
||||
|
||||
// Check transReqId is valid
|
||||
(existingTransactionRequest, callContext) <- NewStyle.function.getTransactionRequestImpl(transReqId, callContext)
|
||||
|
||||
@ -4381,7 +4381,9 @@ object LocalMappedConnector extends Connector with MdcLoggable {
|
||||
charge,
|
||||
chargePolicy,
|
||||
None,
|
||||
None)
|
||||
None,
|
||||
callContext
|
||||
)
|
||||
} map {
|
||||
unboxFullOrFail(_, callContext, s"$InvalidConnectorResponseForCreateTransactionRequestImpl210")
|
||||
}
|
||||
@ -4535,7 +4537,8 @@ object LocalMappedConnector extends Connector with MdcLoggable {
|
||||
charge,
|
||||
chargePolicy,
|
||||
None,
|
||||
None
|
||||
None,
|
||||
callContext
|
||||
)
|
||||
saveTransactionRequestReasons(reasons, transactionRequest)
|
||||
transactionRequest
|
||||
|
||||
@ -157,7 +157,8 @@ object LocalMappedConnectorInternal extends MdcLoggable {
|
||||
charge,
|
||||
"", // chargePolicy is not used in BG so far.
|
||||
Some(paymentServiceType.toString),
|
||||
Some(transactionRequestBody)
|
||||
Some(transactionRequestBody),
|
||||
callContext
|
||||
)
|
||||
transactionRequest
|
||||
} map {
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
package code.transactionrequests
|
||||
|
||||
import code.api.util.APIUtil.DateWithMsFormat
|
||||
import code.api.util.CustomJsonFormats
|
||||
import code.api.util.APIUtil.{DateWithMsFormat}
|
||||
import code.api.util.{APIUtil, CallContext, CustomJsonFormats}
|
||||
import code.api.util.ErrorMessages._
|
||||
import code.api.v2_1_0.TransactionRequestBodyCounterpartyJSON
|
||||
import code.bankconnectors.LocalMappedConnectorInternal
|
||||
import code.consent.Consents
|
||||
import code.model._
|
||||
import code.util.{AccountIdString, UUIDString}
|
||||
import com.openbankproject.commons.model._
|
||||
@ -91,7 +92,8 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider {
|
||||
charge: TransactionRequestCharge,
|
||||
chargePolicy: String,
|
||||
paymentService: Option[String],
|
||||
berlinGroupPayments: Option[BerlinGroupTransactionRequestCommonBodyJson]): Box[TransactionRequest] = {
|
||||
berlinGroupPayments: Option[BerlinGroupTransactionRequestCommonBodyJson],
|
||||
callContext: Option[CallContext]): Box[TransactionRequest] = {
|
||||
|
||||
val toAccountRouting = TransactionRequestTypes.withName(transactionRequestType.value) match {
|
||||
case SEPA =>
|
||||
@ -100,7 +102,7 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider {
|
||||
case _ => toAccount.accountRoutings.headOption
|
||||
}
|
||||
|
||||
val counterpartyId = TransactionRequestTypes.withName(transactionRequestType.value) match {
|
||||
val counterpartyIdOption = TransactionRequestTypes.withName(transactionRequestType.value) match {
|
||||
case COUNTERPARTY => Some(transactionRequestCommonBody.asInstanceOf[TransactionRequestBodyCounterpartyJSON].to.counterparty_id)
|
||||
case _ => None
|
||||
}
|
||||
@ -120,6 +122,9 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider {
|
||||
(null, null, null, null, null)
|
||||
}
|
||||
|
||||
val consentIdOption = callContext.map(_.requestHeaders).map(APIUtil.getConsentIdRequestHeaderValue).flatten
|
||||
val consentOption = consentIdOption.map(consentId =>Consents.consentProvider.vend.getConsentByConsentId(consentId).toOption).flatten
|
||||
val consentReferenceIdOption = consentOption.map(_.consentReferenceId)
|
||||
|
||||
// Note: We don't save transaction_ids, status and challenge here.
|
||||
val mappedTransactionRequest = MappedTransactionRequest.create
|
||||
@ -156,7 +161,7 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider {
|
||||
//.mThisBankId(toAccount.bankId.value)
|
||||
//.mThisAccountId(toAccount.accountId.value)
|
||||
//.mThisViewId(toAccount.v)
|
||||
.mCounterpartyId(counterpartyId.getOrElse(null))
|
||||
.mCounterpartyId(counterpartyIdOption.getOrElse(null))
|
||||
//.mIsBeneficiary(toAccount.isBeneficiary)
|
||||
|
||||
//Body from http request: SANDBOX_TAN, FREE_FORM, SEPA and COUNTERPARTY should have the same following fields:
|
||||
@ -172,6 +177,7 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider {
|
||||
.mPaymentExecutionRule(executionRule)
|
||||
.mPaymentFrequency(frequency)
|
||||
.mPaymentDayOfExecution(dayOfExecution)
|
||||
.mConsentReferenceId(consentReferenceIdOption.getOrElse(null))
|
||||
|
||||
.saveMe
|
||||
Full(mappedTransactionRequest).flatMap(_.toTransactionRequest)
|
||||
@ -278,6 +284,8 @@ class MappedTransactionRequest extends LongKeyedMapper[MappedTransactionRequest]
|
||||
object mPaymentFrequency extends MappedString(this, 64) //BGv1.3 Open API Document example value: "frequency":"Monthly",
|
||||
object mPaymentDayOfExecution extends MappedString(this, 64)//BGv1.3 Open API Document example value: "dayOfExecution":"01"
|
||||
|
||||
object mConsentReferenceId extends MappedString(this, 64)
|
||||
|
||||
def updateStatus(newStatus: String) = {
|
||||
mStatus.set(newStatus)
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package code.transactionrequests
|
||||
|
||||
|
||||
import code.api.util.APIUtil
|
||||
import code.api.util.{APIUtil, CallContext}
|
||||
import com.openbankproject.commons.model.{TransactionRequest, TransactionRequestChallenge, TransactionRequestCharge, _}
|
||||
import net.liftweb.common.{Box, Logger}
|
||||
import net.liftweb.util.SimpleInjector
|
||||
@ -76,7 +76,8 @@ trait TransactionRequestProvider {
|
||||
charge: TransactionRequestCharge,
|
||||
chargePolicy: String,
|
||||
paymentService: Option[String],
|
||||
berlinGroupPayments: Option[BerlinGroupTransactionRequestCommonBodyJson]): Box[TransactionRequest]
|
||||
berlinGroupPayments: Option[BerlinGroupTransactionRequestCommonBodyJson],
|
||||
callContext: Option[CallContext]): Box[TransactionRequest]
|
||||
|
||||
def saveTransactionRequestTransactionImpl(transactionRequestId: TransactionRequestId, transactionId: TransactionId): Box[Boolean]
|
||||
def saveTransactionRequestChallengeImpl(transactionRequestId: TransactionRequestId, challenge: TransactionRequestChallenge): Box[Boolean]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user