mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 13:26:51 +00:00
feature/Transaction Request Reasons - WIP
This commit is contained in:
parent
16530421d0
commit
7356b9fd4a
@ -8,7 +8,7 @@
|
||||
<groupId>com.tesobe</groupId>
|
||||
<artifactId>obp-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.6.1</version>
|
||||
<version>1.6.2</version>
|
||||
</parent>
|
||||
<artifactId>obp-api</artifactId>
|
||||
<packaging>war</packaging>
|
||||
|
||||
@ -104,7 +104,7 @@ import code.transactionChallenge.MappedExpectedChallengeAnswer
|
||||
import code.transactionStatusScheduler.TransactionStatusScheduler
|
||||
import code.transaction_types.MappedTransactionType
|
||||
import code.transactionattribute.MappedTransactionAttribute
|
||||
import code.transactionrequests.{MappedTransactionRequest, MappedTransactionRequestTypeCharge}
|
||||
import code.transactionrequests.{MappedTransactionRequest, MappedTransactionRequestTypeCharge, TransactionRequestReasons}
|
||||
import code.usercustomerlinks.MappedUserCustomerLink
|
||||
import code.userlocks.UserLocks
|
||||
import code.util.Helper
|
||||
@ -816,6 +816,7 @@ object ToSchemify {
|
||||
MappedKycStatus,
|
||||
MappedSocialMedia,
|
||||
MappedTransactionType,
|
||||
TransactionRequestReasons,
|
||||
MappedMeeting,
|
||||
MappedMeetingInvitee,
|
||||
MappedBankAccountData,
|
||||
|
||||
@ -16,7 +16,7 @@ import code.api.v3_0_0.JSONFactory300.createBranchJsonV300
|
||||
import code.api.v3_0_0.custom.JSONFactoryCustom300
|
||||
import code.api.v3_0_0.{LobbyJsonV330, _}
|
||||
import code.api.v3_1_0.{AccountBalanceV310, AccountsBalancesV310Json, BadLoginStatusJson, ContactDetailsJson, CustomerWithAttributesJsonV310, InviteeJson, ObpApiLoopbackJson, PhysicalCardWithAttributesJsonV310, PutUpdateCustomerEmailJsonV310, _}
|
||||
import code.api.v4_0_0.{APIInfoJson400, AccountTagJSON, AccountTagsJSON, AttributeDefinitionJsonV400, AttributeDefinitionResponseJsonV400, AttributeDefinitionsResponseJsonV400, ChallengeJsonV400, CustomerAttributeJsonV400, CustomerAttributesResponseJson, DirectDebitJsonV400, EnergySource400, HostedAt400, HostedBy400, ModeratedAccountJSON400, ModeratedCoreAccountJsonV400, PostAccountAccessJsonV400, PostAccountTagJSON, PostCustomerPhoneNumberJsonV400, PostDirectDebitJsonV400, PostStandingOrderJsonV400, PostViewJsonV400, RefundJson, RevokedJsonV400, StandingOrderJsonV400, TransactionAttributeJsonV400, TransactionAttributeResponseJson, TransactionAttributesResponseJson, TransactionRequestBodyRefundJsonV400, TransactionRequestWithChargeJSON400, UserLockStatusJson, When}
|
||||
import code.api.v4_0_0.{APIInfoJson400, AccountTagJSON, AccountTagsJSON, AttributeDefinitionJsonV400, AttributeDefinitionResponseJsonV400, AttributeDefinitionsResponseJsonV400, ChallengeJsonV400, CustomerAttributeJsonV400, CustomerAttributesResponseJson, DirectDebitJsonV400, EnergySource400, HostedAt400, HostedBy400, ModeratedAccountJSON400, ModeratedCoreAccountJsonV400, PostAccountAccessJsonV400, PostAccountTagJSON, PostCustomerPhoneNumberJsonV400, PostDirectDebitJsonV400, PostStandingOrderJsonV400, PostViewJsonV400, RefundJson, RevokedJsonV400, StandingOrderJsonV400, TransactionAttributeJsonV400, TransactionAttributeResponseJson, TransactionAttributesResponseJson, TransactionRequestBodyRefundJsonV400, TransactionRequestBodySEPAJsonV400, TransactionRequestWithChargeJSON400, UserLockStatusJson, When}
|
||||
import code.api.v3_1_0.{AccountBalanceV310, AccountsBalancesV310Json, BadLoginStatusJson, ContactDetailsJson, InviteeJson, ObpApiLoopbackJson, PhysicalCardWithAttributesJsonV310, PutUpdateCustomerEmailJsonV310, _}
|
||||
import code.branches.Branches.{Branch, DriveUpString, LobbyString}
|
||||
import code.consent.ConsentStatus
|
||||
@ -1936,6 +1936,22 @@ object SwaggerDefinitionsJSON {
|
||||
"SHARED",
|
||||
Some("20881230")
|
||||
)
|
||||
val transactionRequestBodySEPAJsonV400 = TransactionRequestBodySEPAJsonV400(
|
||||
amountOfMoneyJsonV121,
|
||||
ibanJson,
|
||||
description = "This is a SEPA Transaction Request",
|
||||
charge_policy = "SHARED",
|
||||
future_date = Some("20881230"),
|
||||
reason = Some(List(
|
||||
TransactionRequestReason(
|
||||
code = "410",
|
||||
document_number = Some("2020/154"),
|
||||
amount = Some("100"),
|
||||
currency = Some("EUR"),
|
||||
description = Some("international payment")
|
||||
)
|
||||
))
|
||||
)
|
||||
val transactionRequestBodyFreeFormJSON = TransactionRequestBodyFreeFormJSON(
|
||||
amountOfMoneyJsonV121,
|
||||
"This is a FREE_FORM Transaction Request",
|
||||
|
||||
@ -350,7 +350,7 @@ trait APIMethods400 {
|
||||
|$transactionRequestGeneralText
|
||||
|
|
||||
""".stripMargin,
|
||||
transactionRequestBodySEPAJSON,
|
||||
transactionRequestBodySEPAJsonV400,
|
||||
transactionRequestWithChargeJSON210,
|
||||
List(
|
||||
$UserNotLoggedIn,
|
||||
|
||||
@ -35,7 +35,7 @@ import code.api.v1_2_1.JSONFactory.{createAmountOfMoneyJSON, createOwnersJSON}
|
||||
import code.api.v1_2_1.{BankRoutingJsonV121, JSONFactory, UserJSONV121, ViewJSONV121}
|
||||
import code.api.v1_4_0.JSONFactory1_4_0.TransactionRequestAccountJsonV140
|
||||
import code.api.v2_0_0.TransactionRequestChargeJsonV200
|
||||
import code.api.v2_1_0.ResourceUserJSON
|
||||
import code.api.v2_1_0.{IbanJson, ResourceUserJSON}
|
||||
import code.api.v3_0_0.JSONFactory300.createAccountRoutingsJSON
|
||||
import code.api.v3_0_0.{CustomerAttributeResponseJsonV300, ViewBasicV300}
|
||||
import code.api.v3_1_0.AccountAttributeResponseJson
|
||||
@ -211,6 +211,14 @@ case class PostViewJsonV400(view_id: String, is_system: Boolean)
|
||||
case class PostAccountAccessJsonV400(user_id: String, view: PostViewJsonV400)
|
||||
case class RevokedJsonV400(revoked: Boolean)
|
||||
|
||||
case class TransactionRequestBodySEPAJsonV400(
|
||||
value: AmountOfMoneyJsonV121,
|
||||
to: IbanJson,
|
||||
description: String,
|
||||
charge_policy: String,
|
||||
future_date: Option[String] = None,
|
||||
reason: Option[List[TransactionRequestReason]] = None
|
||||
) extends TransactionRequestCommonBodyJSON
|
||||
// the data from endpoint, extract as valid JSON
|
||||
case class TransactionRequestBodyRefundJsonV400(
|
||||
to: TransactionRequestAccountJsonV140,
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package code.transactionrequests
|
||||
|
||||
import code.util.UUIDString
|
||||
import com.openbankproject.commons.model.TransactionRequestReasonsTrait
|
||||
import net.liftweb.mapper._
|
||||
|
||||
class TransactionRequestReasons extends TransactionRequestReasonsTrait with LongKeyedMapper[TransactionRequestReasons] with IdPK with CreatedUpdated{
|
||||
def getSingleton = TransactionRequestReasons
|
||||
|
||||
object TransactionRequestReasonId extends UUIDString(this) // Add class for this
|
||||
object Code extends MappedString(this, 8)
|
||||
object DocumentNumber extends MappedString(this, 100)
|
||||
object Currency extends MappedString(this, 3)
|
||||
object Amount extends MappedString(this, 32)
|
||||
object Description extends MappedString(this, 512)
|
||||
|
||||
override def transactionRequestReasonId: String = TransactionRequestReasonId.get
|
||||
override def code: String = Code.get
|
||||
override def documentNumber: String = DocumentNumber.get
|
||||
override def amount: String = Amount.get
|
||||
override def currency: String = Currency.get
|
||||
override def description: String = Description.get
|
||||
|
||||
}
|
||||
|
||||
object TransactionRequestReasons extends TransactionRequestReasons with LongKeyedMetaMapper[TransactionRequestReasons] {}
|
||||
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<groupId>com.tesobe</groupId>
|
||||
<artifactId>obp-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.6.1</version>
|
||||
<version>1.6.2</version>
|
||||
</parent>
|
||||
<artifactId>obp-commons</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -706,6 +706,14 @@ case class TransactionRequestBody (
|
||||
val description : String
|
||||
)
|
||||
|
||||
case class TransactionRequestReason(
|
||||
code: String,
|
||||
document_number: Option[String],
|
||||
amount: Option[String],
|
||||
currency: Option[String],
|
||||
description: Option[String]
|
||||
)
|
||||
|
||||
case class Transaction(
|
||||
//A universally unique id
|
||||
@ignore
|
||||
|
||||
@ -442,6 +442,15 @@ trait TransactionRequestTypeCharge {
|
||||
def chargeSummary: String
|
||||
}
|
||||
|
||||
trait TransactionRequestReasonsTrait {
|
||||
def transactionRequestReasonId: String
|
||||
def code: String
|
||||
def documentNumber: String
|
||||
def amount: String
|
||||
def currency: String
|
||||
def description: String
|
||||
}
|
||||
|
||||
trait DirectDebitTrait {
|
||||
def directDebitId: String
|
||||
def bankId: String
|
||||
|
||||
Loading…
Reference in New Issue
Block a user