From dc62ae2c2fe24b2efae12d9e75f0d08ea7f4256d Mon Sep 17 00:00:00 2001 From: shuang Date: Fri, 29 Mar 2019 21:07:16 +0800 Subject: [PATCH] move case classes of connector to obp-commons --- .../SwaggerDefinitionsJSON.scala | 10 +- .../api/STET/v1_4/JSONFactory_SETE_1_4.scala | 5 +- .../JSONFactory_UKOpenBanking_200.scala | 4 +- .../JSONFactory_UKOpenBanking_310.scala | 4 +- .../group/v1/JSONFactory_BERLIN_GROUP_1.scala | 4 +- .../v1_3/JSONFactory_BERLIN_GROUP_1_3.scala | 9 +- .../main/scala/code/api/util/NewStyle.scala | 5 +- .../code/api/v1_2_1/JSONFactory1.2.1.scala | 10 +- .../code/api/v1_4_0/JSONFactory1_4_0.scala | 10 +- .../scala/code/api/v2_0_0/APIMethods200.scala | 8 +- .../code/api/v2_0_0/JSONFactory2.0.0.scala | 2 +- .../scala/code/api/v2_1_0/APIMethods210.scala | 1 - .../code/api/v2_1_0/JSONFactory2.1.0.scala | 11 +- .../code/api/v2_2_0/JSONFactory2.2.0.scala | 3 +- .../code/api/v3_1_0/JSONFactory3.1.0.scala | 37 +-- .../scala/code/bankconnectors/Connector.scala | 13 +- .../bankconnectors/KafkaMappedConnector.scala | 1 - .../KafkaMappedConnector_JVMcompatible.scala | 1 - .../bankconnectors/LocalMappedConnector.scala | 3 +- .../bankconnectors/LocalRecordConnector.scala | 1 - .../ObpJvmMappedConnector.scala | 4 +- .../akka/AkkaConnector_vDec2018.scala | 4 - .../akka/AkkaJsonFactory_vDec2018.scala | 2 +- .../rest/RestConnector_vMar2019.scala | 13 +- .../KafkaJsonFactory_vJune2017.scala | 5 +- .../KafkaMappedConnector_vJune2017.scala | 2 +- .../KafkaJsonFactory_vSept2018.scala | 5 - .../KafkaMappedConnector_vSept2018.scala | 24 +- .../scala/code/kafka/kafkaStreamsHelper.scala | 7 +- .../scala/code/management/ImporterAPI.scala | 6 +- .../code/management/TransactionInserter.scala | 6 +- .../main/scala/code/model/BankingData.scala | 63 +----- .../src/main/scala/code/model/package.scala | 39 ++++ .../RemotedataTransactionRequests.scala | 8 +- .../RemotedataTransactionRequestsActor.scala | 6 +- .../MappedTransactionRequestProvider.scala | 1 - .../TransactionRequests.scala | 131 +---------- .../api/v1_4_0/TransactionRequestsTest.scala | 2 +- .../scala/code/api/v2_0_0/AccountTest.scala | 2 +- .../api/v2_0_0/TransactionRequestsTest.scala | 2 +- .../v2_1_0/CreateTransactionTypeTest.scala | 2 +- .../scala/code/api/v2_1_0/CustomerTest.scala | 2 +- .../api/v2_1_0/TransactionRequestsTest.scala | 2 +- .../scala/code/api/v2_2_0/AccountTest.scala | 2 +- .../code/connector/June2017UnitTest.scala | 2 +- .../scala/code/management/ImporterTest.scala | 4 +- .../scala/code/sandbox/PostCustomer.scala | 2 +- .../commons/model/CommonModel.scala | 211 ++++++++++++++++++ .../commons/model/CommonModelTrait.scala | 13 ++ 49 files changed, 337 insertions(+), 377 deletions(-) diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala index 36f437791..99740273b 100644 --- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala +++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala @@ -2,24 +2,22 @@ package code.api.ResourceDocs1_4_0 import java.util.Date -import code.api.v2_2_0.JSONFactory220.{AdapterImplementationJson, MessageDocJson, MessageDocsJson} -import code.api.{Constant} +import code.api.Constant import code.api.UKOpenBanking.v2_0_0.JSONFactory_UKOpenBanking_200 import code.api.UKOpenBanking.v2_0_0.JSONFactory_UKOpenBanking_200.{Account, AccountBalancesUKV200, AccountInner, AccountList, Accounts, BalanceJsonUKV200, BalanceUKOpenBankingJson, BankTransactionCodeJson, CreditLineJson, DataJsonUKV200, Links, MetaBisJson, MetaInnerJson, TransactionCodeJson, TransactionInnerJson, TransactionsInnerJson, TransactionsJsonUKV200} import code.api.berlin.group.v1.JSONFactory_BERLIN_GROUP_1.{AccountBalance, AccountBalances, AmountOfMoneyV1, Balances, ClosingBookedBody, CoreAccountJsonV1, CoreAccountsJsonV1, ExpectedBody, TransactionJsonV1, Transactions, TransactionsJsonV1, ViewAccount} -import code.api.util.{APIUtil, ApiTrigger} import code.api.util.APIUtil.{defaultJValue, _} import code.api.util.ApiRole._ import code.api.util.Glossary.GlossaryItem -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import code.api.util.{APIUtil, ApiTrigger} +import code.api.v2_2_0.JSONFactory220.{AdapterImplementationJson, MessageDocJson, MessageDocsJson} 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.{BadLoginStatusJson, ContactDetailsJson, InviteeJson, ObpApiLoopbackJson, _} +import code.branches.Branches.{Branch, DriveUpString, LobbyString} import code.sandbox.SandboxData import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ - -import code.branches.Branches.{Branch, DriveUpString, LobbyString} import com.openbankproject.commons.model import com.openbankproject.commons.model.PinResetReason.{FORGOT, GOOD_SECURITY_PRACTICE} import com.openbankproject.commons.model._ diff --git a/obp-api/src/main/scala/code/api/STET/v1_4/JSONFactory_SETE_1_4.scala b/obp-api/src/main/scala/code/api/STET/v1_4/JSONFactory_SETE_1_4.scala index 3566c965d..b89dc5cc9 100644 --- a/obp-api/src/main/scala/code/api/STET/v1_4/JSONFactory_SETE_1_4.scala +++ b/obp-api/src/main/scala/code/api/STET/v1_4/JSONFactory_SETE_1_4.scala @@ -2,12 +2,9 @@ package code.api.STET.v1_4 import java.util.Date -import code.api.STET.v1_4.JSONFactory_STET_1_4.{TransactionLastLink, TransactionNextLink} import code.api.util.APIUtil -import code.api.v2_1_0.IbanJson import code.model.{ModeratedBankAccount, ModeratedTransaction} -import code.transactionrequests.TransactionRequests.TransactionRequest -import com.openbankproject.commons.model.BankAccount +import com.openbankproject.commons.model.{BankAccount, TransactionRequest} import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/JSONFactory_UKOpenBanking_200.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/JSONFactory_UKOpenBanking_200.scala index 550f5a8d5..965a377b9 100644 --- a/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/JSONFactory_UKOpenBanking_200.scala +++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/JSONFactory_UKOpenBanking_200.scala @@ -4,10 +4,10 @@ import java.util.Date import code.api.Constant import code.api.util.APIUtil.DateWithDayExampleObject -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.model.{ModeratedBankAccount, ModeratedTransaction} import code.model.toBankAccountEx -import code.transactionrequests.TransactionRequests.TransactionRequest +import com.openbankproject.commons.model.TransactionRequest import com.openbankproject.commons.model.BankAccount import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala index 54c85b0b1..0919a2e3d 100644 --- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala +++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala @@ -4,10 +4,8 @@ import java.util.Date import code.api.Constant import code.api.util.APIUtil.DateWithDayExampleObject -import code.api.v1_2_1.AmountOfMoneyJsonV121 import code.model.{ModeratedBankAccount, ModeratedTransaction} -import code.transactionrequests.TransactionRequests.TransactionRequest -import com.openbankproject.commons.model.BankAccount +import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, BankAccount, TransactionRequest} import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1/JSONFactory_BERLIN_GROUP_1.scala b/obp-api/src/main/scala/code/api/berlin/group/v1/JSONFactory_BERLIN_GROUP_1.scala index 6c96e9615..da09ab32e 100644 --- a/obp-api/src/main/scala/code/api/berlin/group/v1/JSONFactory_BERLIN_GROUP_1.scala +++ b/obp-api/src/main/scala/code/api/berlin/group/v1/JSONFactory_BERLIN_GROUP_1.scala @@ -1,13 +1,11 @@ package code.api.berlin.group.v1 -import java.text.SimpleDateFormat import java.util.Date import code.api.util.APIUtil import code.api.v2_1_0.IbanJson import code.model.{ModeratedBankAccount, ModeratedTransaction} -import code.transactionrequests.TransactionRequests.TransactionRequest -import com.openbankproject.commons.model.CoreAccount +import com.openbankproject.commons.model.{CoreAccount, TransactionRequest} import scala.collection.immutable.List 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 9071caea1..b2f6119e6 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 @@ -1,16 +1,13 @@ package code.api.berlin.group.v1_3 -import java.text.SimpleDateFormat import java.util.Date import code.api.util.APIUtil -import code.api.v2_1_0.IbanJson -import code.model.{ModeratedBankAccount, ModeratedTransaction} -import code.transactionrequests.TransactionRequests.TransactionRequest -import com.openbankproject.commons.model.{BankAccount, CoreAccount} +import code.model.ModeratedTransaction +import com.openbankproject.commons.model.{BankAccount, CoreAccount, TransactionRequest} +import net.liftweb.json.JValue import scala.collection.immutable.List -import net.liftweb.json.JValue case class JvalueCaseClass(jvalueToCaseclass: JValue) 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 4501575bf..cf9956448 100644 --- a/obp-api/src/main/scala/code/api/util/NewStyle.scala +++ b/obp-api/src/main/scala/code/api/util/NewStyle.scala @@ -8,13 +8,11 @@ import code.api.util.ErrorMessages._ import code.api.v1_4_0.OBPAPI1_4_0.Implementations1_4_0 import code.api.v2_0_0.OBPAPI2_0_0.Implementations2_0_0 import code.api.v2_1_0.OBPAPI2_1_0.Implementations2_1_0 -import code.api.v2_1_0.TransactionRequestCommonBodyJSON import code.api.v2_2_0.OBPAPI2_2_0.Implementations2_2_0 import code.api.v3_0_0.OBPAPI3_0_0.Implementations3_0_0 import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0 -import code.bankconnectors.{Connector, ObpApiLoopback} +import code.bankconnectors.Connector import code.branches.Branches.{Branch, DriveUpString, LobbyString} - import code.consumer.Consumers import code.entitlement.Entitlement import code.entitlementrequest.EntitlementRequest @@ -23,7 +21,6 @@ import code.metadata.counterparties.Counterparties import code.model._ import code.products.Products.Product import code.transactionChallenge.ExpectedChallengeAnswer -import code.transactionrequests.TransactionRequests.TransactionRequest import code.util.Helper import code.views.Views import code.webhook.AccountWebhook diff --git a/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala b/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala index 742a871a4..c5072b90f 100644 --- a/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala +++ b/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala @@ -181,11 +181,6 @@ case class UpdateAccountJSON( bank_id : String ) -case class AccountRoutingJsonV121( - scheme: String, - address: String -) - case class ModeratedAccountJSON( id : String, label : String, @@ -211,10 +206,7 @@ case class PermissionJSON( user : UserJSONV121, views : List[ViewJSONV121] ) -case class AmountOfMoneyJsonV121( - currency : String, - amount : String -) + case class AccountHolderJSON( name : String, is_alias : Boolean diff --git a/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala b/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala index 7ec5de9c2..5eb64ec91 100644 --- a/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala +++ b/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala @@ -4,12 +4,11 @@ import java.util.Date import code.api.util.APIUtil.ResourceDoc import code.api.util.{ApiRole, PegdownOptions} -import code.api.v1_2_1.AmountOfMoneyJsonV121 import code.crm.CrmEvent.CrmEvent import code.customer.CustomerMessage import code.products.Products.Product import code.transactionrequests.TransactionRequestTypeCharge -import code.transactionrequests.TransactionRequests.{TransactionRequest, _} +import code.transactionrequests.TransactionRequests._ import com.openbankproject.commons.model._ import net.liftweb.common.Full import net.liftweb.json @@ -70,13 +69,6 @@ object JSONFactory1_4_0 { case class DriveUpStringJson(hours : String) case class LobbyStringJson(hours : String) - - - case class BranchRoutingJsonV141( - scheme: String, - address: String - ) - case class BranchJson(id : String, name : String, address : AddressJsonV140, 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 3ce31cbbf..f197da8a5 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 @@ -11,7 +11,7 @@ import code.api.util.ErrorMessages.UserNotLoggedIn import code.api.util.NewStyle.HttpCode import code.api.util._ import code.api.v1_2_1.OBPAPI1_2_1._ -import code.api.v1_2_1.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121, JSONFactory => JSONFactory121} +import code.api.v1_2_1.{JSONFactory => JSONFactory121} import code.api.v1_4_0.JSONFactory1_4_0 import code.api.v1_4_0.JSONFactory1_4_0.ChallengeAnswerJSON import code.api.v2_0_0.JSONFactory200.{privateBankAccountsListToJson, _} @@ -24,15 +24,15 @@ import code.kycdocuments.KycDocuments import code.kycmedias.KycMedias import code.kycstatuses.KycStatuses import code.meetings.Meeting -import code.model.dataAccess.{AuthUser, BankAccountCreation} import code.model._ +import code.model.dataAccess.{AuthUser, BankAccountCreation} import code.search.{elasticsearchMetrics, elasticsearchWarehouse} import code.socialmedia.SocialMediaHandle import code.usercustomerlinks.UserCustomerLink import code.util.Helper import code.util.Helper.booleanToBox import code.views.Views -import com.openbankproject.commons.model.{Meeting, _} +import com.openbankproject.commons.model._ import net.liftweb.common.{Full, _} import net.liftweb.http.CurrentReq import net.liftweb.http.rest.RestHelper @@ -48,6 +48,8 @@ import code.api.util.ApiRole._ import code.api.util.ErrorMessages._ import net.liftweb.json.Extraction +import com.openbankproject.commons.model.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121} + trait APIMethods200 { //needs to be a RestHelper to get access to JsonGet, JsonPost, etc. diff --git a/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala b/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala index e5ce5cf5d..0a5245d96 100644 --- a/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala +++ b/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala @@ -29,7 +29,7 @@ package code.api.v2_0_0 import java.util.Date import code.TransactionTypes.TransactionType.TransactionType -import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, JSONFactory => JSONFactory121, MinimalBankJSON => MinimalBankJSON121, ThisAccountJSON => ThisAccountJSON121, UserJSONV121 => UserJSON121} +import code.api.v1_2_1.{JSONFactory => JSONFactory121, MinimalBankJSON => MinimalBankJSON121, ThisAccountJSON => ThisAccountJSON121, UserJSONV121 => UserJSON121} import code.api.v1_4_0.JSONFactory1_4_0.{ChallengeJsonV140, CustomerFaceImageJson, TransactionRequestAccountJsonV140} import code.entitlement.Entitlement import code.kycchecks.KycCheck diff --git a/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala b/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala index 38fe8ad1c..7158cd40f 100644 --- a/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala +++ b/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala @@ -8,7 +8,6 @@ import code.api.util.ApiTag._ import code.api.util.ErrorMessages.TransactionDisabled import code.api.util.NewStyle.HttpCode import code.api.util.{APIUtil, ApiRole, NewStyle} -import code.api.v1_2_1.AmountOfMoneyJsonV121 import code.api.v1_3_0.{JSONFactory1_3_0, _} import code.api.v1_4_0.JSONFactory1_4_0 import code.api.v1_4_0.JSONFactory1_4_0._ diff --git a/obp-api/src/main/scala/code/api/v2_1_0/JSONFactory2.1.0.scala b/obp-api/src/main/scala/code/api/v2_1_0/JSONFactory2.1.0.scala index 38dcedee5..a0986c5e6 100644 --- a/obp-api/src/main/scala/code/api/v2_1_0/JSONFactory2.1.0.scala +++ b/obp-api/src/main/scala/code/api/v2_1_0/JSONFactory2.1.0.scala @@ -30,7 +30,8 @@ import java.lang import java.util.Date import code.api.util.ApiRole -import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, BankRoutingJsonV121} +import code.api.v1_2_1.{BankRoutingJsonV121} +import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121} import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_0_0.JSONFactory200.{UserJsonV200, UsersJsonV200, createEntitlementJSONs} import code.api.v2_0_0.TransactionRequestChargeJsonV200 @@ -66,14 +67,6 @@ case class CounterpartyIdJson (val counterparty_id : String) case class IbanJson (val iban : String) -//high level of four different kinds of transaction request types: FREE_FROM, SANDBOXTAN, COUNTERPATY and SEPA. -//They share the same AmountOfMoney and description fields -//Note : in scala case-to-case inheritance is prohibited, so used trait instead -trait TransactionRequestCommonBodyJSON { - val value : AmountOfMoneyJsonV121 - val description: String -} - // the common parts of four types // note: there is TransactionRequestCommonBodyJSON trait, so this case class call TransactionRequestBodyCommonJSON case class TransactionRequestBodyCommonJSON( diff --git a/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala b/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala index e4d3ad725..12f490390 100644 --- a/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala +++ b/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala @@ -32,7 +32,8 @@ import java.util.Date import code.actorsystem.ObpActorConfig import code.api.util.APIUtil import code.api.util.APIUtil.MessageDoc -import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, BankRoutingJsonV121} +import code.api.v1_2_1.{ BankRoutingJsonV121} +import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121} import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_1_0.{PostCounterpartyBespokeJson, ResourceUserJSON} import code.atms.Atms.Atm diff --git a/obp-api/src/main/scala/code/api/v3_1_0/JSONFactory3.1.0.scala b/obp-api/src/main/scala/code/api/v3_1_0/JSONFactory3.1.0.scala index 9de38c10b..b84e50088 100644 --- a/obp-api/src/main/scala/code/api/v3_1_0/JSONFactory3.1.0.scala +++ b/obp-api/src/main/scala/code/api/v3_1_0/JSONFactory3.1.0.scala @@ -32,13 +32,13 @@ import java.util.Date import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON import code.api.util.RateLimitPeriod.LimitCallPeriod import code.api.util.{APIUtil, RateLimitPeriod} -import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, RateLimiting} -import code.api.v1_4_0.JSONFactory1_4_0.{BranchRoutingJsonV141, CustomerFaceImageJson, MetaJsonV140} +import code.api.v1_2_1.{RateLimiting} +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 +import code.api.v1_4_0.JSONFactory1_4_0.{CustomerFaceImageJson, MetaJsonV140} import code.api.v2_0_0.{MeetingKeysJson, MeetingPresentJson} import code.api.v2_1_0.JSONFactory210.createLicenseJson import code.api.v2_1_0.{CustomerCreditRatingJSON, ResourceUserJSON} import code.api.v2_2_0._ -import code.bankconnectors.ObpApiLoopback import code.entitlement.Entitlement import code.loginattempts.BadLoginAttempt import code.metrics.{TopApi, TopConsumer} @@ -50,37 +50,6 @@ import net.liftweb.common.{Box, Full} import scala.collection.immutable.List -case class CheckbookOrdersJson( - account: AccountV310Json , - orders: List[OrderJson] -) - -case class AccountV310Json( - bank_id: String , - account_id: String , - account_type : String, - account_routings: List[AccountRoutingJsonV121], - branch_routings: List[BranchRoutingJsonV141] -) - -case class OrderJson(order: OrderObjectJson) - -case class OrderObjectJson( - order_id: String, - order_date: String, - number_of_checkbooks: String, - distribution_channel: String, - status: String, - first_check_number: String, - shipping_code: String -) - -case class CardObjectJson( - card_type: String, - card_description: String, - use_type: String -) - case class CreditCardOrderStatusResponseJson( cards: List[CardObjectJson] , ) diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala index bc57f4a8b..4a70b53c6 100644 --- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala @@ -9,10 +9,8 @@ import code.api.util.APIUtil._ import code.api.util.ApiRole._ import code.api.util.ErrorMessages._ import code.api.util._ -import code.api.v1_2_1.AmountOfMoneyJsonV121 import code.api.v1_4_0.JSONFactory1_4_0.TransactionRequestAccountJsonV140 -import code.api.v2_1_0.{TransactionRequestCommonBodyJSON, _} -import code.api.v3_1_0._ +import code.api.v2_1_0._ import code.atms.Atms import code.bankconnectors.akka.AkkaConnector_vDec2018 import code.bankconnectors.vJune2017.KafkaMappedConnector_vJune2017 @@ -21,10 +19,9 @@ import code.bankconnectors.vSept2018.KafkaMappedConnector_vSept2018 import code.branches.Branches.Branch import code.fx.FXRate import code.fx.fx.TTL -import code.kafka.Topics.TopicTrait import code.management.ImporterAPI.ImporterTransaction import code.model.dataAccess.ResourceUser -import code.model.{Transaction, toUserEx} +import code.model.toUserEx import code.products.Products.Product import code.transactionChallenge.ExpectedChallengeAnswer import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ @@ -98,12 +95,6 @@ case class InboundUser( displayName: String ) -case class ObpApiLoopback( - connectorVersion: String, - gitCommit: String, - durationTime: String -) extends TopicTrait - trait Connector extends MdcLoggable{ implicit val formats = net.liftweb.json.DefaultFormats diff --git a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala index 4a5e17864..f0d21d6e4 100644 --- a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala @@ -27,7 +27,6 @@ import java.util.Date import code.api.util.ErrorMessages._ import code.api.util._ -import code.api.v2_1_0.TransactionRequestCommonBodyJSON import code.bankconnectors.vMar2017.KafkaMappedConnector_vMar2017 import code.branches.Branches.Branch import code.fx.{FXRate, fx} diff --git a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector_JVMcompatible.scala b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector_JVMcompatible.scala index 9c569a925..52d7f407e 100644 --- a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector_JVMcompatible.scala +++ b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector_JVMcompatible.scala @@ -35,7 +35,6 @@ import code.api.cache.Caching import code.api.util.APIUtil.saveConnectorMetric import code.api.util.ErrorMessages._ import code.api.util._ -import code.api.v2_1_0.TransactionRequestCommonBodyJSON import code.atms.{Atms, MappedAtm} import code.bankconnectors.vMar2017.KafkaMappedConnector_vMar2017 import code.branches.Branches.Branch diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index b09ae015d..988d30c27 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -10,7 +10,6 @@ import code.api.cache.Caching import code.api.util.APIUtil.{OBPReturnType, isValidCurrencyISOCode, saveConnectorMetric, stringOrNull} import code.api.util.ErrorMessages._ import code.api.util._ -import code.api.v2_1_0.TransactionRequestCommonBodyJSON import code.atms.Atms.Atm import code.atms.MappedAtm import code.bankconnectors.vJune2017.InboundAccountJune2017 @@ -35,7 +34,7 @@ import code.productattribute.ProductAttribute import code.productcollection.ProductCollection import code.productcollectionitem.ProductCollectionItem import code.products.MappedProduct -import code.products.Products.{Product} +import code.products.Products.Product import code.taxresidence.TaxResidence import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests._ diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalRecordConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalRecordConnector.scala index b7b77dc3a..b1534b06f 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalRecordConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalRecordConnector.scala @@ -4,7 +4,6 @@ import java.util.{Date, TimeZone} import code.api.util.ErrorMessages._ import code.api.util.{APIUtil, CallContext, OBPQueryParam} -import code.api.v2_1_0.TransactionRequestCommonBodyJSON import code.management.ImporterAPI.ImporterTransaction import code.metadata.counterparties.{Counterparties, Metadata, MongoCounterparties} import code.model._ diff --git a/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala index 47bbb5eef..e5476e603 100644 --- a/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala @@ -9,7 +9,6 @@ import java.util.{Date, Optional} import code.accountholders.{AccountHolders, MapperAccountHolders} import code.api.util.ErrorMessages._ import code.api.util._ -import code.api.v2_1_0.TransactionRequestCommonBodyJSON import code.branches.Branches.Branch import code.fx.{FXRate, fx} import code.management.ImporterAPI.ImporterTransaction @@ -21,7 +20,6 @@ import code.metadata.wheretags.WhereTags import code.model._ import code.model.dataAccess._ import code.products.Products.Product -import code.model.Transaction import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests._ import code.transactionrequests._ @@ -29,7 +27,7 @@ import code.util.Helper import code.util.Helper.MdcLoggable import code.views.Views import com.google.common.cache.CacheBuilder -import com.openbankproject.commons.model.{Bank, _} +import com.openbankproject.commons.model.{Bank, Transaction, _} import com.tesobe.obp.kafka.{Configuration, SimpleConfiguration, SimpleNorth} import com.tesobe.obp.transport.nov2016._ import com.tesobe.obp.transport.spi.{DefaultSorter, TimestampFilter} 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 9d82f8184..87e8a96c0 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 @@ -10,17 +10,13 @@ import code.api.util._ import code.bankconnectors._ import code.bankconnectors.akka.InboundTransformerDec2018._ import code.bankconnectors.akka.actor.{AkkaConnectorActorInit, AkkaConnectorHelperActor} -import code.model.Transaction import com.openbankproject.commons.dto._ import com.openbankproject.commons.model.{CounterpartyTrait, CreditLimit, _} import com.sksamuel.avro4s.SchemaFor import net.liftweb.common.{Box, Full} -import net.liftweb.json.Extraction.decompose -import net.liftweb.json.JsonAST.JValue import net.liftweb.json.parse import scala.collection.immutable.{List, Nil} -import scala.collection.mutable.ArrayBuffer import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaJsonFactory_vDec2018.scala b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaJsonFactory_vDec2018.scala index 4ee81eeff..27ebfb42e 100644 --- a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaJsonFactory_vDec2018.scala +++ b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaJsonFactory_vDec2018.scala @@ -4,7 +4,7 @@ import java.util.Date import code.api.util.APIUtil import code.model.dataAccess.MappedBankAccountData -import code.model.Transaction + import com.openbankproject.commons.dto.{InboundAccount, InboundBank, InboundCustomer, InboundTransaction} import com.openbankproject.commons.model._ import net.liftweb.mapper.By 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 df0979218..0fd6dd44d 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 @@ -25,20 +25,17 @@ Berlin 13359, Germany import java.util.UUID.randomUUID -import akka.http.scaladsl.model._ +import akka.http.scaladsl.model.{HttpProtocol, _} import akka.util.ByteString -import akka.http.scaladsl.model.HttpProtocol -import code.api.{APIFailure, APIFailureNewStyle} -import code.util.AkkaHttpClient._ +import code.api.APIFailureNewStyle import code.api.cache.Caching import code.api.util.APIUtil.{MessageDoc, OBPReturnType, saveConnectorMetric} -import code.api.util.{APIUtil, CallContext, NewStyle, OBPQueryParam} import code.api.util.ErrorMessages._ +import code.api.util.{CallContext, OBPQueryParam} import code.bankconnectors._ import code.bankconnectors.vJune2017.AuthInfo -import code.bankconnectors.vMar2017._ import code.kafka.KafkaHelper -import code.model.Transaction +import code.util.AkkaHttpClient._ import code.util.Helper.MdcLoggable import com.openbankproject.commons.model._ import com.tesobe.CacheKeyFromArguments @@ -53,8 +50,6 @@ import scala.concurrent.duration._ import scala.language.postfixOps import scala.reflect.runtime.universe._ -import com.github.dwickern.macros.NameOf.nameOf - case class BankCommons ( bankId: BankId, shortName: String, diff --git a/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaJsonFactory_vJune2017.scala b/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaJsonFactory_vJune2017.scala index 46baaed43..598399480 100644 --- a/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaJsonFactory_vJune2017.scala +++ b/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaJsonFactory_vJune2017.scala @@ -4,13 +4,12 @@ import java.lang import java.util.Date import code.api.util.APIUtil -import code.api.v3_1_0.CheckbookOrdersJson +import com.openbankproject.commons.model.CheckbookOrdersJson import code.bankconnectors.vMar2017._ import code.branches.Branches.{DriveUpString, LobbyString} -import code.kafka.Topics._ import code.model.dataAccess.MappedBankAccountData -import code.transactionrequests.TransactionRequests.TransactionRequest +import com.openbankproject.commons.model.TransactionRequest import com.openbankproject.commons.model.{CounterpartyTrait, CreditLimit, _} import net.liftweb.mapper.By import net.liftweb.util.Helpers.today diff --git a/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaMappedConnector_vJune2017.scala b/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaMappedConnector_vJune2017.scala index f88ec8f05..19a2ab469 100644 --- a/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaMappedConnector_vJune2017.scala +++ b/obp-api/src/main/scala/code/bankconnectors/vJune2017/KafkaMappedConnector_vJune2017.scala @@ -33,7 +33,7 @@ import code.api.util.APIUtil.{MessageDoc, getSecondsCache, saveConnectorMetric} import code.api.util.ErrorMessages._ import code.api.util._ import code.api.util.APIUtil._ -import code.api.v3_1_0.{AccountV310Json, CardObjectJson, CheckbookOrdersJson} +import com.openbankproject.commons.model.{AccountV310Json, CardObjectJson, CheckbookOrdersJson} import code.bankconnectors._ import code.bankconnectors.vMar2017._ diff --git a/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaJsonFactory_vSept2018.scala b/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaJsonFactory_vSept2018.scala index 3acb8f43c..2377bd54e 100644 --- a/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaJsonFactory_vSept2018.scala +++ b/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaJsonFactory_vSept2018.scala @@ -3,15 +3,10 @@ package code.bankconnectors.vSept2018 import java.util.Date import code.api.util.APIUtil -import code.api.v2_1_0.TransactionRequestCommonBodyJSON -import code.api.v3_1_0.CheckbookOrdersJson import code.bankconnectors.vJune2017.InternalCustomer import code.bankconnectors.vMar2017._ import code.branches.Branches.{DriveUpString, LobbyString} - -import code.kafka.Topics._ import code.model.dataAccess.MappedBankAccountData -import code.transactionrequests.TransactionRequests.TransactionRequest import com.openbankproject.commons.model.{CounterpartyTrait, Customer, UserAuthContext, _} import net.liftweb.mapper.By import net.liftweb.util.Helpers.today diff --git a/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaMappedConnector_vSept2018.scala b/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaMappedConnector_vSept2018.scala index 7f1bfbafb..8373f8414 100644 --- a/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaMappedConnector_vSept2018.scala +++ b/obp-api/src/main/scala/code/bankconnectors/vSept2018/KafkaMappedConnector_vSept2018.scala @@ -31,41 +31,33 @@ import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON import code.api.cache.Caching import code.api.util.APIUtil.{MessageDoc, saveConnectorMetric, _} import code.api.util.ErrorMessages._ +import code.api.util.ExampleValue._ import code.api.util._ -import code.api.v3_1_0.CardObjectJson +import code.api.v2_1_0.TransactionRequestBodyCommonJSON import code.bankconnectors._ import code.bankconnectors.vJune2017.{InternalCustomer, JsonFactory_vJune2017} import code.bankconnectors.vMar2017._ - +import code.context.UserAuthContextProvider import code.customer._ import code.kafka.{KafkaHelper, Topics} import code.model._ import code.model.dataAccess._ -import code.transactionrequests.TransactionRequests._ +import code.users.Users import code.util.Helper.MdcLoggable import code.views.Views +import com.openbankproject.commons.model.{CounterpartyTrait, _} import com.sksamuel.avro4s.SchemaFor import com.tesobe.{CacheKeyFromArguments, CacheKeyOmit} +import net.liftweb import net.liftweb.common.{Box, _} -import net.liftweb.json.Extraction._ -import net.liftweb.json.JsonAST.JValue -import net.liftweb.json.{Extraction, MappingException, parse} -import net.liftweb.util.Helpers.{now, tryo} +import net.liftweb.json.{MappingException, parse} +import net.liftweb.util.Helpers.tryo import scala.collection.immutable.{List, Nil} -import scala.collection.mutable.ArrayBuffer import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future import scala.concurrent.duration._ import scala.language.postfixOps -import code.api.util.ExampleValue._ -import code.api.v1_2_1.AmountOfMoneyJsonV121 -import code.api.v2_1_0.{TransactionRequestBodyCommonJSON, TransactionRequestCommonBodyJSON} -import code.context.UserAuthContextProvider -import code.users.Users -import com.openbankproject.commons.model.{CounterpartyTrait, _} -import net.liftweb -import net.liftweb.json trait KafkaMappedConnector_vSept2018 extends Connector with KafkaHelper with MdcLoggable { diff --git a/obp-api/src/main/scala/code/kafka/kafkaStreamsHelper.scala b/obp-api/src/main/scala/code/kafka/kafkaStreamsHelper.scala index d4f3b94ee..2b6b2cc92 100644 --- a/obp-api/src/main/scala/code/kafka/kafkaStreamsHelper.scala +++ b/obp-api/src/main/scala/code/kafka/kafkaStreamsHelper.scala @@ -10,10 +10,10 @@ import code.actorsystem.{ObpActorHelper, ObpActorInit} import code.api.util.APIUtil import code.api.util.ErrorMessages._ import code.bankconnectors.AvroSerializer -import code.kafka.Topics.TopicTrait import code.kafka.actor.RequestResponseActor import code.kafka.actor.RequestResponseActor.Request import code.util.Helper.MdcLoggable +import com.openbankproject.commons.model.TopicTrait import net.liftweb.common.{Failure, Full} import net.liftweb.json import net.liftweb.json.{DefaultFormats, Extraction, JsonAST} @@ -263,9 +263,4 @@ object Topics extends KafkaConfig { ) } - // @see 'case request: TopicTrait' in code/bankconnectors/kafkaStreamsHelper.scala - // This is for Kafka topics for both North and South sides. - // In OBP-API, these topics will be created automatically. - trait TopicTrait - } diff --git a/obp-api/src/main/scala/code/management/ImporterAPI.scala b/obp-api/src/main/scala/code/management/ImporterAPI.scala index 5acaf96a8..cb28127e2 100644 --- a/obp-api/src/main/scala/code/management/ImporterAPI.scala +++ b/obp-api/src/main/scala/code/management/ImporterAPI.scala @@ -5,18 +5,16 @@ import java.util.Date import code.api.util.APIUtil import code.api.util.ErrorMessages._ import code.bankconnectors.Connector -import code.model.Transaction import code.tesobe.ErrorMessage -import code.util.Helper -import net.liftweb.common.Full import code.util.Helper.MdcLoggable +import com.openbankproject.commons.model.Transaction +import net.liftweb.common.Full import net.liftweb.http._ import net.liftweb.http.js.JsExp import net.liftweb.http.rest.RestHelper import net.liftweb.json.JsonAST.{JArray, JField, JObject, JString} import net.liftweb.json.{DefaultFormats, Extraction} import net.liftweb.util.Helpers._ -import net.liftweb.util.Props /** * This is legacy code and does not handle edge cases very well and assumes certain things, e.g. diff --git a/obp-api/src/main/scala/code/management/TransactionInserter.scala b/obp-api/src/main/scala/code/management/TransactionInserter.scala index d5fdb4533..9fcc1f591 100644 --- a/obp-api/src/main/scala/code/management/TransactionInserter.scala +++ b/obp-api/src/main/scala/code/management/TransactionInserter.scala @@ -1,13 +1,13 @@ package code.management +import code.api.util.ErrorMessages._ import code.bankconnectors.Connector -import code.model.Transaction import code.management.ImporterAPI._ +import code.util.Helper.MdcLoggable +import com.openbankproject.commons.model.Transaction import net.liftweb.actor.LiftActor import net.liftweb.common._ import net.liftweb.util.Helpers -import code.util.Helper.MdcLoggable -import code.api.util.ErrorMessages._ object TransactionInserter extends LiftActor with MdcLoggable { diff --git a/obp-api/src/main/scala/code/model/BankingData.scala b/obp-api/src/main/scala/code/model/BankingData.scala index 8ce8bbdd6..68dbb34fc 100644 --- a/obp-api/src/main/scala/code/model/BankingData.scala +++ b/obp-api/src/main/scala/code/model/BankingData.scala @@ -26,23 +26,16 @@ TESOBE (http://www.tesobe.com/) */ package code.model -import java.util.Date - import code.accountholders.AccountHolders import code.api.util.APIUtil.unboxFullOrFail import code.api.util.ErrorMessages._ import code.api.util._ import code.bankconnectors.Connector import code.customer.Customer -import code.metadata.comments.Comments -import code.metadata.narrative.Narrative -import code.metadata.tags.Tags -import code.metadata.transactionimages.TransactionImages -import code.metadata.wheretags.WhereTags import code.util.Helper import code.util.Helper.MdcLoggable import code.views.Views -import com.openbankproject.commons.model.{AccountId, AccountRouting, Bank, BankAccount, BankAccountInMemory, BankId, BankIdAccountId, Counterparty, CounterpartyId, CounterpartyTrait, CreateViewJson, Customer, Permission, TransactionId, TransactionMetadata, UpdateViewJSON, User, UserPrimaryKey, View, ViewId, ViewIdBankIdAccountId} +import com.openbankproject.commons.model.{AccountId, AccountRouting, Bank, BankAccount, BankAccountInMemory, BankId, BankIdAccountId, Counterparty, CounterpartyId, CounterpartyTrait, CreateViewJson, Customer, Permission, TransactionId, UpdateViewJSON, User, UserPrimaryKey, View, ViewId, ViewIdBankIdAccountId} import net.liftweb.common._ import net.liftweb.json.JsonDSL._ import net.liftweb.json.{JArray, JObject} @@ -50,7 +43,6 @@ import net.liftweb.json.{JArray, JObject} import scala.collection.immutable.{List, Set} import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future -import scala.math.BigDecimal case class BankEx(bank: Bank) { @@ -590,56 +582,3 @@ trait TransactionUUID { def theAccountId : AccountId } -class Transaction( - //A universally unique id - val uuid: String, - //id is unique for transactions of @thisAccount - val id : TransactionId, - val thisAccount : BankAccount, - val otherAccount : Counterparty, - //E.g. cash withdrawal, electronic payment, etc. - val transactionType : String, - val amount : BigDecimal, - //ISO 4217, e.g. EUR, GBP, USD, etc. - val currency : String, - // Bank provided label - val description : Option[String], - // The date the transaction was initiated - val startDate : Date, - // The date when the money finished changing hands - val finishDate : Date, - //the new balance for the bank account - val balance : BigDecimal - ) { - - val bankId = thisAccount.bankId - val accountId = thisAccount.accountId - - /** - * The metadata is set up using dependency injection. If you want to, e.g. override the Comments implementation - * for a particular scope, use Comments.comments.doWith(NewCommentsImplementation extends Comments{}){ - * //code in here will use NewCommentsImplementation (e.g. val t = new Transaction(...) will result in Comments.comments.vend - * // return NewCommentsImplementation here below) - * } - * - * If you want to change the current default implementation, you would change the buildOne function in Comments to - * return a different value - * - */ - val metadata : TransactionMetadata = new TransactionMetadata( - Narrative.narrative.vend.getNarrative(bankId, accountId, id) _, - Narrative.narrative.vend.setNarrative(bankId, accountId, id) _, - Comments.comments.vend.getComments(bankId, accountId, id) _, - Comments.comments.vend.addComment(bankId, accountId, id) _, - Comments.comments.vend.deleteComment(bankId, accountId, id) _, - Tags.tags.vend.getTags(bankId, accountId, id) _, - Tags.tags.vend.addTag(bankId, accountId, id) _, - Tags.tags.vend.deleteTag(bankId, accountId, id) _, - TransactionImages.transactionImages.vend.getImagesForTransaction(bankId, accountId, id) _, - TransactionImages.transactionImages.vend.addTransactionImage(bankId, accountId, id) _, - TransactionImages.transactionImages.vend.deleteTransactionImage(bankId, accountId, id) _, - WhereTags.whereTags.vend.getWhereTagForTransaction(bankId, accountId, id) _, - WhereTags.whereTags.vend.addWhereTag(bankId, accountId, id) _, - WhereTags.whereTags.vend.deleteWhereTag(bankId, accountId, id) _ - ) -} diff --git a/obp-api/src/main/scala/code/model/package.scala b/obp-api/src/main/scala/code/model/package.scala index daf21630d..987dcfe56 100644 --- a/obp-api/src/main/scala/code/model/package.scala +++ b/obp-api/src/main/scala/code/model/package.scala @@ -1,6 +1,11 @@ package code +import code.metadata.comments.Comments import code.metadata.counterparties.Counterparties +import code.metadata.narrative.Narrative +import code.metadata.tags.Tags +import code.metadata.transactionimages.TransactionImages +import code.metadata.wheretags.WhereTags import com.openbankproject.commons.model._ /** @@ -30,4 +35,38 @@ package object model { counterparty.counterpartyName ).openOrThrowException("Can not getOrCreateMetadata !") } + + implicit class TransactionEx(transaction: Transaction) { + + private[this] val bankId = transaction.bankId + private[this] val accountId = transaction.accountId + private[this] val id = transaction.id + /** + * The metadata is set up using dependency injection. If you want to, e.g. override the Comments implementation + * for a particular scope, use Comments.comments.doWith(NewCommentsImplementation extends Comments{}){ + * //code in here will use NewCommentsImplementation (e.g. val t = new Transaction(...) will result in Comments.comments.vend + * // return NewCommentsImplementation here below) + * } + * + * If you want to change the current default implementation, you would change the buildOne function in Comments to + * return a different value + * + */ + val metadata : TransactionMetadata = new TransactionMetadata( + Narrative.narrative.vend.getNarrative(bankId, accountId, id) _, + Narrative.narrative.vend.setNarrative(bankId, accountId, id) _, + Comments.comments.vend.getComments(bankId, accountId, id) _, + Comments.comments.vend.addComment(bankId, accountId, id) _, + Comments.comments.vend.deleteComment(bankId, accountId, id) _, + Tags.tags.vend.getTags(bankId, accountId, id) _, + Tags.tags.vend.addTag(bankId, accountId, id) _, + Tags.tags.vend.deleteTag(bankId, accountId, id) _, + TransactionImages.transactionImages.vend.getImagesForTransaction(bankId, accountId, id) _, + TransactionImages.transactionImages.vend.addTransactionImage(bankId, accountId, id) _, + TransactionImages.transactionImages.vend.deleteTransactionImage(bankId, accountId, id) _, + WhereTags.whereTags.vend.getWhereTagForTransaction(bankId, accountId, id) _, + WhereTags.whereTags.vend.addWhereTag(bankId, accountId, id) _, + WhereTags.whereTags.vend.deleteWhereTag(bankId, accountId, id) _ + ) + } } diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequests.scala b/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequests.scala index 725fa5264..dd0bc2807 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequests.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequests.scala @@ -2,11 +2,11 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.api.v2_1_0.TransactionRequestCommonBodyJSON -import code.model._ -import code.transactionrequests.TransactionRequests.{TransactionRequest, TransactionRequestBody, TransactionRequestChallenge, TransactionRequestCharge} + +import code.transactionrequests.TransactionRequests.{TransactionRequestBody} +import com.openbankproject.commons.model.{TransactionRequest, TransactionRequestChallenge, TransactionRequestCharge, _} import code.transactionrequests.{MappedTransactionRequest, RemotedataTransactionRequestsCaseClasses, TransactionRequestProvider} -import com.openbankproject.commons.model.{CounterpartyTrait, _} + import net.liftweb.common.Box object RemotedataTransactionRequests extends ObpActorInit with TransactionRequestProvider { diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequestsActor.scala b/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequestsActor.scala index 36c3c3599..bd5b4c306 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequestsActor.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataTransactionRequestsActor.scala @@ -2,12 +2,10 @@ package code.remotedata import akka.actor.Actor import code.actorsystem.ObpActorHelper -import code.api.v2_1_0.TransactionRequestCommonBodyJSON -import code.model._ -import code.transactionrequests.TransactionRequests.{TransactionRequestBody, TransactionRequestChallenge, TransactionRequestCharge} +import code.transactionrequests.TransactionRequests.TransactionRequestBody import code.transactionrequests.{MappedTransactionRequestProvider, RemotedataTransactionRequestsCaseClasses} import code.util.Helper.MdcLoggable -import com.openbankproject.commons.model.{CounterpartyTrait, _} +import com.openbankproject.commons.model._ class RemotedataTransactionRequestsActor extends Actor with ObpActorHelper with MdcLoggable { diff --git a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala index 2afcc61ce..7d9033665 100644 --- a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala +++ b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala @@ -1,7 +1,6 @@ package code.transactionrequests import code.api.util.ErrorMessages._ -import code.api.v2_1_0.{TransactionRequestBodyCounterpartyJSON, TransactionRequestBodySEPAJSON, TransactionRequestBodySandBoxTanJSON, TransactionRequestCommonBodyJSON} import code.bankconnectors.Connector import code.model._ diff --git a/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala b/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala index 3d3de3b0d..97b97e76b 100644 --- a/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala +++ b/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala @@ -1,21 +1,12 @@ package code.transactionrequests -import java.util.Date - import code.api.util.APIUtil -import code.api.v1_2_1.AmountOfMoneyJsonV121 -import code.api.v1_4_0.JSONFactory1_4_0.TransactionRequestAccountJsonV140 -import code.api.v2_1_0.{CounterpartyIdJson, IbanJson, TransactionRequestCommonBodyJSON} -import code.api.v3_0_0.custom._ -import code.model._ import code.remotedata.RemotedataTransactionRequests -import code.transactionrequests.TransactionRequests.{TransactionRequest, TransactionRequestBody, TransactionRequestChallenge, TransactionRequestCharge} -import com.openbankproject.commons.model.{CounterpartyTrait, _} +import code.transactionrequests.TransactionRequests.{TransactionRequestBody} +import com.openbankproject.commons.model.{TransactionRequest,TransactionRequestChallenge, TransactionRequestCharge, _} import net.liftweb.common.{Box, Logger} -import net.liftweb.json.JsonAST.JValue -import net.liftweb.util.{Props, SimpleInjector} -import org.elasticsearch.common.inject.Inject +import net.liftweb.util.SimpleInjector object TransactionRequests extends SimpleInjector { @@ -36,127 +27,11 @@ object TransactionRequests extends SimpleInjector { def updatestatus(newStatus: String) = {} - case class TransactionRequestCharge( - val summary: String, - val value : AmountOfMoney - ) - - case class TransactionRequest ( - val id: TransactionRequestId, - val `type` : String, - val from: TransactionRequestAccount, - val body: TransactionRequestBodyAllTypes, - val transaction_ids: String, - val status: String, - val start_date: Date, - val end_date: Date, - val challenge: TransactionRequestChallenge, - val charge: TransactionRequestCharge, - val charge_policy: String, - val counterparty_id :CounterpartyId, - val name :String, - val this_bank_id : BankId, - val this_account_id : AccountId, - val this_view_id :ViewId, - val other_account_routing_scheme : String, - val other_account_routing_address : String, - val other_bank_routing_scheme : String, - val other_bank_routing_address : String, - val is_beneficiary :Boolean, - val future_date :Option[String] = None - - ) - - case class TransactionRequestChallenge ( - val id: String, - val allowed_attempts : Int, - val challenge_type: String - ) - - case class TransactionRequestAccount ( - val bank_id: String, - val account_id : String - ) - - //For COUNTERPATY, it need the counterparty_id to find the toCounterpaty--> toBankAccount - case class TransactionRequestCounterpartyId (counterparty_id : String) - - //For SEPA, it need the iban to find the toCounterpaty--> toBankAccount - case class TransactionRequestIban (iban : String) - - case class FromAccountTransfer( - mobile_phone_number: String, - nickname: String - ) - - case class ToAccountTransferToPhone( - mobile_phone_number: String - ) - - case class ToAccountTransferToAtmKycDocument( - `type`: String, - number: String - ) - - case class ToAccountTransferToAtm( - legal_name: String, - date_of_birth: String, - mobile_phone_number: String, - kyc_document: ToAccountTransferToAtmKycDocument - ) - - case class ToAccountTransferToAccountAccount( - number: String, - iban: String - ) - - case class ToAccountTransferToAccount( - name: String, - bank_code: String, - branch_number: String, - account: ToAccountTransferToAccountAccount - ) - - case class TransactionRequestTransferToPhone( - value: AmountOfMoneyJsonV121, - description: String, - message: String, - from: FromAccountTransfer, - to: ToAccountTransferToPhone - ) extends TransactionRequestCommonBodyJSON - - case class TransactionRequestTransferToAtm( - value: AmountOfMoneyJsonV121, - description: String, - message: String, - from: FromAccountTransfer, - to: ToAccountTransferToAtm - ) extends TransactionRequestCommonBodyJSON - - case class TransactionRequestTransferToAccount( - value: AmountOfMoneyJsonV121, - description: String, - transfer_type: String, - future_date: String, - to: ToAccountTransferToAccount - ) extends TransactionRequestCommonBodyJSON - case class TransactionRequestBody ( val to: TransactionRequestAccount, val value : AmountOfMoney, val description : String ) - - case class TransactionRequestBodyAllTypes ( - to_sandbox_tan: Option[TransactionRequestAccount], - to_sepa: Option[TransactionRequestIban], - to_counterparty: Option[TransactionRequestCounterpartyId], - to_transfer_to_phone: Option[TransactionRequestTransferToPhone] = None, //TODO not stable - to_transfer_to_atm: Option[TransactionRequestTransferToAtm]= None,//TODO not stable - to_transfer_to_account: Option[TransactionRequestTransferToAccount]= None,//TODO not stable - value: AmountOfMoney, - description: String - ) val transactionRequestProvider = new Inject(buildOne _) {} diff --git a/obp-api/src/test/scala/code/api/v1_4_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/TransactionRequestsTest.scala index d6cc8b101..f74123221 100644 --- a/obp-api/src/test/scala/code/api/v1_4_0/TransactionRequestsTest.scala +++ b/obp-api/src/test/scala/code/api/v1_4_0/TransactionRequestsTest.scala @@ -2,7 +2,7 @@ package code.api.v1_4_0 import code.api.util.APIUtil import code.api.util.APIUtil.OAuth._ -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.api.v1_4_0.JSONFactory1_4_0._ import code.bankconnectors.Connector import code.setup.DefaultUsers diff --git a/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala index e7b987aaf..e1cfaf114 100644 --- a/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala +++ b/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala @@ -2,7 +2,7 @@ package code.api.v2_0_0 import code.api.util.APIUtil.OAuth._ import code.api.util.ErrorMessages -import code.api.v1_2_1.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121} +import com.openbankproject.commons.model.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121} import code.setup.DefaultUsers import net.liftweb.json.JsonAST._ import net.liftweb.json.Serialization.write diff --git a/obp-api/src/test/scala/code/api/v2_0_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/TransactionRequestsTest.scala index e0dd2ed4c..4f7d695bb 100644 --- a/obp-api/src/test/scala/code/api/v2_0_0/TransactionRequestsTest.scala +++ b/obp-api/src/test/scala/code/api/v2_0_0/TransactionRequestsTest.scala @@ -3,7 +3,7 @@ package code.api.v2_0_0 import code.api.util.APIUtil.OAuth._ import code.api.util.ApiRole._ import code.api.util.{APIUtil, ErrorMessages} -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.api.v1_4_0.JSONFactory1_4_0.{ChallengeAnswerJSON, TransactionRequestAccountJsonV140} import code.bankconnectors.Connector import code.fx.fx diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala index bdbaecb0b..eb568db76 100644 --- a/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala +++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala @@ -4,7 +4,7 @@ import code.api.ErrorMessage import code.api.util.APIUtil.OAuth._ import code.api.util.ApiRole.CanCreateTransactionType import code.api.util.{ApiRole, ErrorMessages} -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.api.v2_0_0.TransactionTypeJsonV200 import code.setup.DefaultUsers import code.transaction_types.MappedTransactionType diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala index e19256f80..1e741b55c 100644 --- a/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala +++ b/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala @@ -3,7 +3,7 @@ package code.api.v2_1_0 import code.api.ErrorMessage import code.api.util.APIUtil.OAuth._ import code.api.util.{ApiRole, ErrorMessages} -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.api.v1_4_0.JSONFactory1_4_0.CustomerFaceImageJson import code.entitlement.Entitlement import code.setup.DefaultUsers diff --git a/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala index 4d8ae2d7f..96bcd6107 100644 --- a/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala +++ b/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala @@ -7,7 +7,7 @@ import code.api.util.APIUtil.OAuth._ import code.api.util.ApiRole.CanCreateAnyTransactionRequest import code.api.util.ErrorMessages._ import code.api.util.{APIUtil, ErrorMessages} -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.api.v1_4_0.JSONFactory1_4_0.{ChallengeAnswerJSON, TransactionRequestAccountJsonV140} import code.api.v2_0_0.TransactionRequestBodyJsonV200 import code.bankconnectors.Connector diff --git a/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala index cc47167f7..53d3ba0b4 100644 --- a/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala +++ b/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala @@ -2,8 +2,8 @@ package code.api.v2_2_0 import code.api.util.APIUtil.OAuth._ import code.api.util.ErrorMessages -import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121} import code.setup.DefaultUsers +import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121} import net.liftweb.json.JsonAST._ import net.liftweb.json.Serialization.write diff --git a/obp-api/src/test/scala/code/connector/June2017UnitTest.scala b/obp-api/src/test/scala/code/connector/June2017UnitTest.scala index 54dc8f13e..2cb51982c 100644 --- a/obp-api/src/test/scala/code/connector/June2017UnitTest.scala +++ b/obp-api/src/test/scala/code/connector/June2017UnitTest.scala @@ -3,7 +3,7 @@ package code.connector import code.api.util.APIUtil.MessageDoc import code.bankconnectors.vJune2017.{InboundGetTransactionRequests210, InternalGetTransactionRequests, KafkaMappedConnector_vJune2017, OutboundGetTransactionRequests210} -import code.transactionrequests.TransactionRequests.TransactionRequest +import com.openbankproject.commons.model.TransactionRequest import code.util.Helper.MdcLoggable import net.liftweb.json.Extraction import net.liftweb.json.JsonAST.JValue diff --git a/obp-api/src/test/scala/code/management/ImporterTest.scala b/obp-api/src/test/scala/code/management/ImporterTest.scala index eb5f2b146..ed328db93 100644 --- a/obp-api/src/test/scala/code/management/ImporterTest.scala +++ b/obp-api/src/test/scala/code/management/ImporterTest.scala @@ -1,6 +1,5 @@ package code.management -import java.text.SimpleDateFormat import java.util.TimeZone import code.api.util.APIUtil @@ -9,8 +8,7 @@ import code.bankconnectors.Connector import code.model._ import code.setup.{APIResponse, DefaultConnectorTestSetup, ServerSetup} import code.util.Helper.MdcLoggable -import com.openbankproject.commons.model.AccountId -import net.liftweb.util.Props +import com.openbankproject.commons.model.{AccountId, Transaction} import net.liftweb.util.TimeHelpers._ diff --git a/obp-api/src/test/scala/code/sandbox/PostCustomer.scala b/obp-api/src/test/scala/code/sandbox/PostCustomer.scala index 4d9f6793d..3770a04c7 100644 --- a/obp-api/src/test/scala/code/sandbox/PostCustomer.scala +++ b/obp-api/src/test/scala/code/sandbox/PostCustomer.scala @@ -50,7 +50,7 @@ TESOBE (http://www.tesobe.com/) import java.util.{Date, UUID} import code.api.util.APIUtil -import code.api.v1_2_1.AmountOfMoneyJsonV121 +import com.openbankproject.commons.model.AmountOfMoneyJsonV121 import code.api.v1_4_0.JSONFactory1_4_0.CustomerFaceImageJson import code.api.v2_0_0.JSONFactory200.UserJsonV200 import code.api.v2_1_0.{CustomerCreditRatingJSON, PostCustomerJsonV210} diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala index 2e1b8f182..6f881a20f 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala @@ -241,3 +241,214 @@ case class MeetingCommons( when :Date, creator :ContactDetails, invitees :List[Invitee]) extends Meeting + +//----------------obp-api moved to here case classes + +case class BranchRoutingJsonV141( + scheme: String, + address: String + ) + +case class AccountRoutingJsonV121( + scheme: String, + address: String + ) + +case class AccountV310Json( + bank_id: String , + account_id: String , + account_type : String, + account_routings: List[AccountRoutingJsonV121], + branch_routings: List[BranchRoutingJsonV141] + ) + +case class CheckbookOrdersJson( + account: AccountV310Json , + orders: List[OrderJson] + ) + +case class OrderJson(order: OrderObjectJson) + +case class OrderObjectJson( + order_id: String, + order_date: String, + number_of_checkbooks: String, + distribution_channel: String, + status: String, + first_check_number: String, + shipping_code: String + ) + +case class ObpApiLoopback( + connectorVersion: String, + gitCommit: String, + durationTime: String + ) extends TopicTrait + +case class CardObjectJson( + card_type: String, + card_description: String, + use_type: String + ) + +case class TransactionRequestAccount ( + val bank_id: String, + val account_id : String + ) + +//For SEPA, it need the iban to find the toCounterpaty--> toBankAccount +case class TransactionRequestIban (iban : String) + +case class AmountOfMoneyJsonV121( + currency : String, + amount : String + ) + +case class ToAccountTransferToAccountAccount( + number: String, + iban: String + ) + +case class FromAccountTransfer( + mobile_phone_number: String, + nickname: String + ) + +case class ToAccountTransferToAtmKycDocument( + `type`: String, + number: String + ) + +case class ToAccountTransferToAccount( + name: String, + bank_code: String, + branch_number: String, + account: ToAccountTransferToAccountAccount + ) + +case class ToAccountTransferToPhone( + mobile_phone_number: String + ) + +case class TransactionRequestTransferToPhone( + value: AmountOfMoneyJsonV121, + description: String, + message: String, + from: FromAccountTransfer, + to: ToAccountTransferToPhone + ) extends TransactionRequestCommonBodyJSON + +case class ToAccountTransferToAtm( + legal_name: String, + date_of_birth: String, + mobile_phone_number: String, + kyc_document: ToAccountTransferToAtmKycDocument + ) + +case class TransactionRequestTransferToAtm( + value: AmountOfMoneyJsonV121, + description: String, + message: String, + from: FromAccountTransfer, + to: ToAccountTransferToAtm + ) extends TransactionRequestCommonBodyJSON + +//For COUNTERPATY, it need the counterparty_id to find the toCounterpaty--> toBankAccount +case class TransactionRequestCounterpartyId (counterparty_id : String) + +case class TransactionRequestTransferToAccount( + value: AmountOfMoneyJsonV121, + description: String, + transfer_type: String, + future_date: String, + to: ToAccountTransferToAccount + ) extends TransactionRequestCommonBodyJSON + +case class TransactionRequestBodyAllTypes ( + to_sandbox_tan: Option[TransactionRequestAccount], + to_sepa: Option[TransactionRequestIban], + to_counterparty: Option[TransactionRequestCounterpartyId], + to_transfer_to_phone: Option[TransactionRequestTransferToPhone] = None, //TODO not stable + to_transfer_to_atm: Option[TransactionRequestTransferToAtm]= None,//TODO not stable + to_transfer_to_account: Option[TransactionRequestTransferToAccount]= None,//TODO not stable + value: AmountOfMoney, + description: String + ) + +case class TransactionRequestCharge( + val summary: String, + val value : AmountOfMoney + ) + +case class TransactionRequestChallenge ( + val id: String, + val allowed_attempts : Int, + val challenge_type: String + ) +case class TransactionRequest ( + val id: TransactionRequestId, + val `type` : String, + val from: TransactionRequestAccount, + val body: TransactionRequestBodyAllTypes, + val transaction_ids: String, + val status: String, + val start_date: Date, + val end_date: Date, + val challenge: TransactionRequestChallenge, + val charge: TransactionRequestCharge, + val charge_policy: String, + val counterparty_id :CounterpartyId, + val name :String, + val this_bank_id : BankId, + val this_account_id : AccountId, + val this_view_id :ViewId, + val other_account_routing_scheme : String, + val other_account_routing_address : String, + val other_bank_routing_scheme : String, + val other_bank_routing_address : String, + val is_beneficiary :Boolean, + val future_date :Option[String] = None + + ) + +class Transaction( + //A universally unique id + val uuid: String, + //id is unique for transactions of @thisAccount + val id : TransactionId, + val thisAccount : BankAccount, + val otherAccount : Counterparty, + //E.g. cash withdrawal, electronic payment, etc. + val transactionType : String, + val amount : BigDecimal, + //ISO 4217, e.g. EUR, GBP, USD, etc. + val currency : String, + // Bank provided label + val description : Option[String], + // The date the transaction was initiated + val startDate : Date, + // The date when the money finished changing hands + val finishDate : Date, + //the new balance for the bank account + val balance : BigDecimal + ) { + + val bankId = thisAccount.bankId + val accountId = thisAccount.accountId +} + +// because Transaction#thisAccount is trait, can't be deserialize, So here supply a case class to do deserialize +case class TransactionCommons( + //A universally unique id + override val uuid: String, + override val id : TransactionId, + override val thisAccount : BankAccountCommons, + override val otherAccount : Counterparty, + override val transactionType : String, + override val amount : BigDecimal, + override val currency : String, + override val description : Option[String], + override val startDate : Date, + override val finishDate : Date, + override val balance : BigDecimal + ) extends Transaction(uuid, id, thisAccount, otherAccount, transactionType, amount, currency,description, startDate, finishDate, balance) \ No newline at end of file diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModelTrait.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModelTrait.scala index 3547d1203..eb77ed3d6 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModelTrait.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModelTrait.scala @@ -262,7 +262,20 @@ trait RoutingT { def address: String } +// @see 'case request: TopicTrait' in code/bankconnectors/kafkaStreamsHelper.scala +// This is for Kafka topics for both North and South sides. +// In OBP-API, these topics will be created automatically. +trait TopicTrait + +//high level of four different kinds of transaction request types: FREE_FROM, SANDBOXTAN, COUNTERPATY and SEPA. +//They share the same AmountOfMoney and description fields +//Note : in scala case-to-case inheritance is prohibited, so used trait instead +trait TransactionRequestCommonBodyJSON { + val value : AmountOfMoneyJsonV121 + val description: String +} //---------------------------------------- trait dependents of case class + @deprecated("Use Lobby instead which contains detailed fields, not this string","24 July 2017") case class LobbyString (hours : String) extends LobbyStringT