mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 14:46:49 +00:00
refactor/added the productInstanceCode to accountAttribute
This commit is contained in:
parent
a61d6c4c3c
commit
0b802cadf4
@ -55,12 +55,14 @@ trait AccountAttributeProvider {
|
||||
accountAttributeId: Option[String],
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String): Future[Box[AccountAttribute]]
|
||||
value: String,
|
||||
productInstanceCode: Option[String]): Future[Box[AccountAttribute]]
|
||||
|
||||
def createAccountAttributes(bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute]): Future[Box[List[AccountAttribute]]]
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String]): Future[Box[List[AccountAttribute]]]
|
||||
|
||||
def deleteAccountAttribute(accountAttributeId: String): Future[Box[Boolean]]
|
||||
|
||||
@ -87,12 +89,14 @@ class RemotedataAccountAttributeCaseClasses {
|
||||
accountAttributeId: Option[String],
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String)
|
||||
value: String,
|
||||
productInstanceCode: Option[String])
|
||||
|
||||
case class createAccountAttributes(bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute])
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String])
|
||||
|
||||
case class deleteAccountAttribute(accountAttributeId: String)
|
||||
|
||||
|
||||
@ -90,7 +90,8 @@ object MappedAccountAttributeProvider extends AccountAttributeProvider {
|
||||
accountAttributeId: Option[String],
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String): Future[Box[AccountAttribute]] = {
|
||||
value: String,
|
||||
productInstanceCode: Option[String]): Future[Box[AccountAttribute]] = {
|
||||
accountAttributeId match {
|
||||
case Some(id) => Future {
|
||||
MappedAccountAttribute.find(By(MappedAccountAttribute.mAccountAttributeId, id)) match {
|
||||
@ -102,6 +103,7 @@ object MappedAccountAttributeProvider extends AccountAttributeProvider {
|
||||
.mName(name)
|
||||
.mType(attributeType.toString)
|
||||
.mValue(value)
|
||||
.mProductInstanceCode(productInstanceCode.getOrElse(""))
|
||||
.saveMe()
|
||||
}
|
||||
case _ => Empty
|
||||
@ -116,6 +118,7 @@ object MappedAccountAttributeProvider extends AccountAttributeProvider {
|
||||
.mName(name)
|
||||
.mType(attributeType.toString())
|
||||
.mValue(value)
|
||||
.mProductInstanceCode(productInstanceCode.getOrElse(""))
|
||||
.saveMe()
|
||||
}
|
||||
}
|
||||
@ -124,7 +127,8 @@ object MappedAccountAttributeProvider extends AccountAttributeProvider {
|
||||
override def createAccountAttributes(bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute]): Future[Box[List[AccountAttribute]]] = {
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String]): Future[Box[List[AccountAttribute]]] = {
|
||||
Future {
|
||||
tryo {
|
||||
for {
|
||||
@ -136,6 +140,7 @@ object MappedAccountAttributeProvider extends AccountAttributeProvider {
|
||||
.mName(accountAttribute.name)
|
||||
.mType(accountAttribute.attributeType.toString())
|
||||
.mValue(accountAttribute.value)
|
||||
.mProductInstanceCode(productInstanceCode.getOrElse(""))
|
||||
.saveMe()
|
||||
}
|
||||
}
|
||||
@ -188,6 +193,8 @@ class MappedAccountAttribute extends AccountAttribute with LongKeyedMapper[Mappe
|
||||
object mType extends MappedString(this, 50)
|
||||
|
||||
object mValue extends MappedString(this, 255)
|
||||
|
||||
object mProductInstanceCode extends MappedString(this, 255)
|
||||
|
||||
|
||||
override def bankId: BankId = BankId(mBankIdId.get)
|
||||
@ -203,6 +210,8 @@ class MappedAccountAttribute extends AccountAttribute with LongKeyedMapper[Mappe
|
||||
override def attributeType: AccountAttributeType.Value = AccountAttributeType.withName(mType.get)
|
||||
|
||||
override def value: String = mValue.get
|
||||
|
||||
override def productInstanceCode: Option[String] = Some(mProductInstanceCode.get)
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -3590,14 +3590,16 @@ object SwaggerDefinitionsJSON {
|
||||
val accountAttributeJson = AccountAttributeJson(
|
||||
name = "OVERDRAFT_START_DATE",
|
||||
`type` = "DATE_WITH_DAY",
|
||||
value = "2012-04-23"
|
||||
value = "2012-04-23",
|
||||
product_instance_code = Some("LKJL98769F"),
|
||||
)
|
||||
val accountAttributeResponseJson = AccountAttributeResponseJson(
|
||||
product_code = productCodeExample.value,
|
||||
account_attribute_id = "613c83ea-80f9-4560-8404-b9cd4ec42a7f",
|
||||
name = "OVERDRAFT_START_DATE",
|
||||
`type` = "DATE_WITH_DAY",
|
||||
value = "2012-04-23"
|
||||
value = "2012-04-23",
|
||||
product_instance_code = Some("LKJL98769F"),
|
||||
)
|
||||
|
||||
val moderatedAccountJSON310 = ModeratedAccountJSON310(
|
||||
|
||||
@ -1748,6 +1748,7 @@ object NewStyle extends MdcLoggable{
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String,
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]
|
||||
): OBPReturnType[AccountAttribute] = {
|
||||
Connector.connector.vend.createOrUpdateAccountAttribute(
|
||||
@ -1758,6 +1759,7 @@ object NewStyle extends MdcLoggable{
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String,
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]
|
||||
) map {
|
||||
i => (connectorEmptyResponse(i._1, callContext), i._2)
|
||||
@ -1847,12 +1849,14 @@ object NewStyle extends MdcLoggable{
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]): OBPReturnType[List[AccountAttribute]] = {
|
||||
Connector.connector.vend.createAccountAttributes(
|
||||
bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes,
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]
|
||||
) map {
|
||||
i => (connectorEmptyResponse(i._1, callContext), i._2)
|
||||
|
||||
@ -2764,6 +2764,7 @@ trait APIMethods310 {
|
||||
postedData.name,
|
||||
accountAttributeType,
|
||||
postedData.value,
|
||||
postedData.product_instance_code,
|
||||
callContext: Option[CallContext]
|
||||
)
|
||||
} yield {
|
||||
@ -2841,6 +2842,7 @@ trait APIMethods310 {
|
||||
postedData.name,
|
||||
accountAttributeType,
|
||||
postedData.value,
|
||||
postedData.product_instance_code,
|
||||
callContext: Option[CallContext]
|
||||
)
|
||||
} yield {
|
||||
@ -5378,6 +5380,7 @@ trait APIMethods310 {
|
||||
accountId,
|
||||
ProductCode(accountType),
|
||||
productAttributes,
|
||||
None,
|
||||
callContext: Option[CallContext]
|
||||
)
|
||||
} yield {
|
||||
|
||||
@ -410,6 +410,7 @@ case class AccountAttributeJson(
|
||||
name: String,
|
||||
`type`: String,
|
||||
value: String,
|
||||
product_instance_code: Option[String],
|
||||
)
|
||||
|
||||
case class CardAttributeJson(
|
||||
@ -423,7 +424,8 @@ case class AccountAttributeResponseJson(
|
||||
account_attribute_id: String,
|
||||
name: String,
|
||||
`type`: String,
|
||||
value: String
|
||||
value: String,
|
||||
product_instance_code: Option[String],
|
||||
)
|
||||
case class AccountAttributesResponseJson(list: List[AccountAttributeResponseJson])
|
||||
|
||||
@ -1245,7 +1247,8 @@ object JSONFactory310{
|
||||
account_attribute_id = accountAttribute.accountAttributeId,
|
||||
name = accountAttribute.name,
|
||||
`type` = accountAttribute.attributeType.toString,
|
||||
value = accountAttribute.value
|
||||
value = accountAttribute.value,
|
||||
product_instance_code = accountAttribute.productInstanceCode
|
||||
)
|
||||
}
|
||||
def createAccountAttributesJson(productsList: List[AccountAttribute]) : AccountAttributesResponseJson = {
|
||||
|
||||
@ -523,6 +523,7 @@ trait APIMethods400 {
|
||||
accountId,
|
||||
ProductCode("SETTLEMENT"),
|
||||
productAttributes,
|
||||
None,
|
||||
callContext: Option[CallContext]
|
||||
)
|
||||
} yield {
|
||||
@ -2484,6 +2485,7 @@ trait APIMethods400 {
|
||||
accountId,
|
||||
ProductCode(accountType),
|
||||
productAttributes,
|
||||
None,
|
||||
callContext: Option[CallContext]
|
||||
)
|
||||
} yield {
|
||||
|
||||
@ -2129,6 +2129,7 @@ trait Connector extends MdcLoggable {
|
||||
name: String,
|
||||
accountAttributeType: AccountAttributeType.Value,
|
||||
value: String,
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]
|
||||
): OBPReturnType[Box[AccountAttribute]] = Future{(Failure(setUnimplementedError), callContext)}
|
||||
|
||||
@ -2200,6 +2201,7 @@ trait Connector extends MdcLoggable {
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] =
|
||||
Future{(Failure(setUnimplementedError), callContext)}
|
||||
|
||||
|
||||
@ -3731,6 +3731,7 @@ object LocalMappedConnector extends Connector with MdcLoggable {
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String,
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]
|
||||
): OBPReturnType[Box[AccountAttribute]] = {
|
||||
AccountAttributeX.accountAttributeProvider.vend.createOrUpdateAccountAttribute(bankId: BankId,
|
||||
@ -3739,7 +3740,8 @@ object LocalMappedConnector extends Connector with MdcLoggable {
|
||||
accountAttributeId: Option[String],
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String) map {
|
||||
value: String,
|
||||
productInstanceCode: Option[String]) map {
|
||||
(_, callContext)
|
||||
}
|
||||
}
|
||||
@ -3748,13 +3750,15 @@ object LocalMappedConnector extends Connector with MdcLoggable {
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String],
|
||||
callContext: Option[CallContext]
|
||||
): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
AccountAttributeX.accountAttributeProvider.vend.createAccountAttributes(
|
||||
bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute]) map {
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String]) map {
|
||||
(_, callContext)
|
||||
}
|
||||
}
|
||||
|
||||
@ -4835,7 +4835,8 @@ object AkkaConnector_vDec2018 extends Connector with AkkaConnectorActorInit {
|
||||
adapterImplementation = Some(AdapterImplementation("- Core", 1))
|
||||
)
|
||||
|
||||
override def createOrUpdateAccountAttribute(bankId: BankId, accountId: AccountId, productCode: ProductCode, productAttributeId: Option[String], name: String, accountAttributeType: AccountAttributeType.Value, value: String, callContext: Option[CallContext]): OBPReturnType[Box[AccountAttribute]] = {
|
||||
override def createOrUpdateAccountAttribute(bankId: BankId, accountId: AccountId, productCode: ProductCode, productAttributeId: Option[String], name: String, accountAttributeType: AccountAttributeType.Value, value: String,
|
||||
productInstanceCode: Option[String],callContext: Option[CallContext]): OBPReturnType[Box[AccountAttribute]] = {
|
||||
import com.openbankproject.commons.dto.{InBoundCreateOrUpdateAccountAttribute => InBound, OutBoundCreateOrUpdateAccountAttribute => OutBound}
|
||||
val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, productCode, productAttributeId, name, accountAttributeType, value)
|
||||
val response: Future[Box[InBound]] = (southSideActor ? req).mapTo[InBound].recoverWith(recoverFunction).map(Box !! _)
|
||||
@ -4948,7 +4949,8 @@ object AkkaConnector_vDec2018 extends Connector with AkkaConnectorActorInit {
|
||||
adapterImplementation = Some(AdapterImplementation("- Core", 1))
|
||||
)
|
||||
|
||||
override def createAccountAttributes(bankId: BankId, accountId: AccountId, productCode: ProductCode, accountAttributes: List[ProductAttribute], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
override def createAccountAttributes(bankId: BankId, accountId: AccountId, productCode: ProductCode, accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
import com.openbankproject.commons.dto.{InBoundCreateAccountAttributes => InBound, OutBoundCreateAccountAttributes => OutBound}
|
||||
val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, productCode, accountAttributes)
|
||||
val response: Future[Box[InBound]] = (southSideActor ? req).mapTo[InBound].recoverWith(recoverFunction).map(Box !! _)
|
||||
|
||||
@ -5021,7 +5021,8 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable
|
||||
adapterImplementation = Some(AdapterImplementation("- Core", 1))
|
||||
)
|
||||
|
||||
override def createOrUpdateAccountAttribute(bankId: BankId, accountId: AccountId, productCode: ProductCode, productAttributeId: Option[String], name: String, accountAttributeType: AccountAttributeType.Value, value: String, callContext: Option[CallContext]): OBPReturnType[Box[AccountAttribute]] = {
|
||||
override def createOrUpdateAccountAttribute(bankId: BankId, accountId: AccountId, productCode: ProductCode, productAttributeId: Option[String], name: String, accountAttributeType: AccountAttributeType.Value, value: String,
|
||||
productInstanceCode: Option[String], callContext: Option[CallContext]): OBPReturnType[Box[AccountAttribute]] = {
|
||||
import com.openbankproject.commons.dto.{InBoundCreateOrUpdateAccountAttribute => InBound, OutBoundCreateOrUpdateAccountAttribute => OutBound}
|
||||
val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, productCode, productAttributeId, name, accountAttributeType, value)
|
||||
val response: Future[Box[InBound]] = sendRequest[InBound](getUrl(callContext, "createOrUpdateAccountAttribute"), HttpMethods.POST, req, callContext)
|
||||
@ -5134,7 +5135,8 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable
|
||||
adapterImplementation = Some(AdapterImplementation("- Core", 1))
|
||||
)
|
||||
|
||||
override def createAccountAttributes(bankId: BankId, accountId: AccountId, productCode: ProductCode, accountAttributes: List[ProductAttribute], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
override def createAccountAttributes(bankId: BankId, accountId: AccountId, productCode: ProductCode, accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
import com.openbankproject.commons.dto.{InBoundCreateAccountAttributes => InBound, OutBoundCreateAccountAttributes => OutBound}
|
||||
val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, productCode, accountAttributes)
|
||||
val response: Future[Box[InBound]] = sendRequest[InBound](getUrl(callContext, "createAccountAttributes"), HttpMethods.POST, req, callContext)
|
||||
|
||||
@ -4999,7 +4999,8 @@ trait StoredProcedureConnector_vDec2019 extends Connector with MdcLoggable {
|
||||
adapterImplementation = Some(AdapterImplementation("- Core", 1))
|
||||
)
|
||||
|
||||
override def createOrUpdateAccountAttribute(bankId: BankId, accountId: AccountId, productCode: ProductCode, productAttributeId: Option[String], name: String, accountAttributeType: AccountAttributeType.Value, value: String, callContext: Option[CallContext]): OBPReturnType[Box[AccountAttribute]] = {
|
||||
override def createOrUpdateAccountAttribute(bankId: BankId, accountId: AccountId, productCode: ProductCode, productAttributeId: Option[String], name: String, accountAttributeType: AccountAttributeType.Value, value: String,
|
||||
productInstanceCode: Option[String],callContext: Option[CallContext]): OBPReturnType[Box[AccountAttribute]] = {
|
||||
import com.openbankproject.commons.dto.{InBoundCreateOrUpdateAccountAttribute => InBound, OutBoundCreateOrUpdateAccountAttribute => OutBound}
|
||||
val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, productCode, productAttributeId, name, accountAttributeType, value)
|
||||
val response: Future[Box[InBound]] = sendRequest[InBound]("obp_create_or_update_account_attribute", req, callContext)
|
||||
@ -5112,7 +5113,8 @@ trait StoredProcedureConnector_vDec2019 extends Connector with MdcLoggable {
|
||||
adapterImplementation = Some(AdapterImplementation("- Core", 1))
|
||||
)
|
||||
|
||||
override def createAccountAttributes(bankId: BankId, accountId: AccountId, productCode: ProductCode, accountAttributes: List[ProductAttribute], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
override def createAccountAttributes(bankId: BankId, accountId: AccountId, productCode: ProductCode, accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountAttribute]]] = {
|
||||
import com.openbankproject.commons.dto.{InBoundCreateAccountAttributes => InBound, OutBoundCreateAccountAttributes => OutBound}
|
||||
val req = OutBound(callContext.map(_.toOutboundAdapterCallContext).orNull, bankId, accountId, productCode, accountAttributes)
|
||||
val response: Future[Box[InBound]] = sendRequest[InBound]("obp_create_account_attributes", req, callContext)
|
||||
|
||||
@ -40,14 +40,16 @@ object RemotedataAccountAttribute extends ObpActorInit with AccountAttributeProv
|
||||
productAttributeId: Option[String],
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String): Future[Box[AccountAttribute]] =
|
||||
(actor ? cc.createOrUpdateAccountAttribute(bankId, accountId, productCode, productAttributeId , name , attributeType , value )).mapTo[Box[AccountAttribute]]
|
||||
value: String,
|
||||
productInstanceCode: Option[String]): Future[Box[AccountAttribute]] =
|
||||
(actor ? cc.createOrUpdateAccountAttribute(bankId, accountId, productCode, productAttributeId , name , attributeType , value, productInstanceCode )).mapTo[Box[AccountAttribute]]
|
||||
|
||||
override def createAccountAttributes(bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
productAttributes: List[ProductAttribute]): Future[Box[List[AccountAttribute]]] =
|
||||
(actor ? cc.createAccountAttributes(bankId, accountId, productCode, productAttributes)).mapTo[Box[List[AccountAttribute]]]
|
||||
productAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String]): Future[Box[List[AccountAttribute]]] =
|
||||
(actor ? cc.createAccountAttributes(bankId, accountId, productCode, productAttributes, productInstanceCode)).mapTo[Box[List[AccountAttribute]]]
|
||||
|
||||
override def deleteAccountAttribute(accountAttributeId: String): Future[Box[Boolean]] =
|
||||
(actor ? cc.deleteAccountAttribute(accountAttributeId)).mapTo[Box[Boolean]]
|
||||
|
||||
@ -44,22 +44,26 @@ class RemotedataAccountAttributeActor extends Actor with ObpActorHelper with Mdc
|
||||
accountAttributeId: Option[String],
|
||||
name: String,
|
||||
attributeType: AccountAttributeType.Value,
|
||||
value: String) =>
|
||||
value: String,
|
||||
productInstanceCode: Option[String]) =>
|
||||
logger.debug(s"createOrUpdateAccountAttribute(${bankId}, ${accountId}, ${productCode}, ${accountAttributeId}, ${name}, ${attributeType}, ${value})")
|
||||
mapper.createOrUpdateAccountAttribute(bankId, accountId,
|
||||
productCode,
|
||||
accountAttributeId,
|
||||
name,
|
||||
attributeType,
|
||||
value) pipeTo sender
|
||||
value,
|
||||
productInstanceCode: Option[String]) pipeTo sender
|
||||
|
||||
case cc.createAccountAttributes(bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute]) =>
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String]) =>
|
||||
mapper.createAccountAttributes(bankId, accountId,
|
||||
productCode,
|
||||
accountAttributes) pipeTo sender
|
||||
accountAttributes,
|
||||
productInstanceCode: Option[String]) pipeTo sender
|
||||
|
||||
case cc.deleteAccountAttribute(accountAttributeId: String) =>
|
||||
logger.debug(s"deleteAccountAttribute(${accountAttributeId})")
|
||||
|
||||
Binary file not shown.
@ -82,7 +82,8 @@ class DeleteAccountCascadeTest extends V400ServerSetup {
|
||||
account.account_id,
|
||||
"REQUIRED_CHALLENGE_ANSWERS",
|
||||
"2",
|
||||
"INTEGER"
|
||||
"INTEGER",
|
||||
Some("LKJL98769F")
|
||||
)
|
||||
|
||||
grantUserAccessToViewViaEndpoint(
|
||||
|
||||
@ -84,7 +84,8 @@ class DeleteBankCascadeTest extends V400ServerSetup {
|
||||
account.account_id,
|
||||
"REQUIRED_CHALLENGE_ANSWERS",
|
||||
"2",
|
||||
"INTEGER"
|
||||
"INTEGER",
|
||||
Some("LKJL98769F")
|
||||
)
|
||||
|
||||
grantUserAccessToViewViaEndpoint(
|
||||
|
||||
@ -1141,7 +1141,8 @@ class TransactionRequestsTest extends V400ServerSetup with DefaultUsers {
|
||||
helper.accountId1.value,
|
||||
"REQUIRED_CHALLENGE_ANSWERS",
|
||||
"2",
|
||||
"INTEGER"
|
||||
"INTEGER",
|
||||
Some("LKJL98769F")
|
||||
)
|
||||
|
||||
val grantedView = grantUserAccessToViewViaEndpoint(
|
||||
@ -1389,7 +1390,8 @@ class TransactionRequestsTest extends V400ServerSetup with DefaultUsers {
|
||||
helper.accountId1.value,
|
||||
"REQUIRED_CHALLENGE_ANSWERS",
|
||||
"2",
|
||||
"INTEGER"
|
||||
"INTEGER",
|
||||
Some("LKJL98769F")
|
||||
)
|
||||
|
||||
val grantedView = grantUserAccessToViewViaEndpoint(
|
||||
|
||||
@ -151,7 +151,7 @@ trait V400ServerSetup extends ServerSetupWithTestData with DefaultUsers {
|
||||
product
|
||||
}
|
||||
|
||||
def createAccountAttributeViaEndpoint(bankId: String, accountId: String, name: String, value: String, `type`: String): AccountAttributeResponseJson = {
|
||||
def createAccountAttributeViaEndpoint(bankId: String, accountId: String, name: String, value: String, `type`: String, productInstanceCode: Option[String]): AccountAttributeResponseJson = {
|
||||
val putProductJsonV400 = PutProductJsonV400(
|
||||
name = "product name",
|
||||
parent_product_code = "",
|
||||
@ -169,7 +169,8 @@ trait V400ServerSetup extends ServerSetupWithTestData with DefaultUsers {
|
||||
val accountAttributeJson = AccountAttributeJson(
|
||||
name = name,
|
||||
`type` = `type`,
|
||||
value = value
|
||||
value = value,
|
||||
productInstanceCode
|
||||
)
|
||||
val entitlement = Entitlement.entitlement.vend.addEntitlement(bankId, resourceUser1.userId, CanCreateAccountAttributeAtOneBank.toString)
|
||||
val requestCreate310 = (v4_0_0_Request / "banks" / bankId / "accounts" / accountId /
|
||||
|
||||
Binary file not shown.
@ -401,7 +401,8 @@ case class OutBoundCreateOrUpdateAccountAttribute(outboundAdapterCallContext: Ou
|
||||
productAttributeId: Option[String],
|
||||
name: String,
|
||||
accountAttributeType: enums.AccountAttributeType.Value,
|
||||
value: String) extends TopicTrait
|
||||
value: String,
|
||||
productInstanceCode: Option[String] = None) extends TopicTrait
|
||||
case class InBoundCreateOrUpdateAccountAttribute(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: AccountAttributeCommons) extends InBoundTrait[AccountAttributeCommons]
|
||||
|
||||
|
||||
@ -585,7 +586,8 @@ case class OutBoundCreateAccountAttributes(outboundAdapterCallContext: OutboundA
|
||||
bankId: BankId,
|
||||
accountId: AccountId,
|
||||
productCode: ProductCode,
|
||||
accountAttributes: List[ProductAttribute]
|
||||
accountAttributes: List[ProductAttribute],
|
||||
productInstanceCode: Option[String] = None,
|
||||
) extends TopicTrait
|
||||
case class InBoundCreateAccountAttributes(inboundAdapterCallContext: InboundAdapterCallContext, status: Status, data: List[AccountAttributeCommons]) extends InBoundTrait[List[AccountAttributeCommons]]
|
||||
|
||||
|
||||
@ -91,7 +91,8 @@ case class AccountAttributeCommons(
|
||||
accountAttributeId :String,
|
||||
name :String,
|
||||
attributeType : AccountAttributeType.Value,
|
||||
value :String) extends AccountAttribute
|
||||
value :String,
|
||||
productInstanceCode: Option[String] = None) extends AccountAttribute
|
||||
|
||||
object AccountAttributeCommons extends Converter[AccountAttribute, AccountAttributeCommons]
|
||||
|
||||
|
||||
@ -112,6 +112,7 @@ trait AccountAttribute {
|
||||
def name: String
|
||||
def attributeType: AccountAttributeType.Value
|
||||
def value: String
|
||||
def productInstanceCode: Option[String]
|
||||
}
|
||||
|
||||
trait CardAttribute {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user