From f67dbab998619fbfee2c16033c50019b6b0b0afd Mon Sep 17 00:00:00 2001 From: shuang Date: Fri, 29 Mar 2019 17:07:11 +0800 Subject: [PATCH] move traits of connector to obp-commons --- .../AccountApplication.scala | 13 +- .../MappedAccountApplication.scala | 4 +- .../accountattribute/AccountAttribute.scala | 34 +- .../MappedAccountAttributeProvider.scala | 4 +- .../main/scala/code/api/GatewayLogin.scala | 4 +- .../ResourceDocsAPIMethods.scala | 6 +- .../SwaggerDefinitionsJSON.scala | 2 +- .../main/scala/code/api/util/NewStyle.scala | 28 +- .../scala/code/api/v1_4_0/APIMethods140.scala | 6 +- .../code/api/v1_4_0/JSONFactory1_4_0.scala | 4 - .../scala/code/api/v2_0_0/APIMethods200.scala | 2 +- .../code/api/v2_0_0/JSONFactory2.0.0.scala | 3 +- .../scala/code/api/v2_1_0/APIMethods210.scala | 3 - .../code/api/v2_1_0/JSONFactory2.1.0.scala | 3 +- .../code/api/v2_2_0/JSONFactory2.2.0.scala | 5 +- .../scala/code/api/v3_0_0/APIMethods300.scala | 13 +- .../code/api/v3_0_0/JSONFactory3.0.0.scala | 5 +- .../scala/code/api/v3_1_0/APIMethods310.scala | 6 +- .../code/api/v3_1_0/JSONFactory3.1.0.scala | 15 +- obp-api/src/main/scala/code/atms/Atms.scala | 51 +-- .../scala/code/atms/MappedAtmsProvider.scala | 4 +- .../scala/code/bankconnectors/Connector.scala | 41 +- .../bankconnectors/KafkaMappedConnector.scala | 13 +- .../KafkaMappedConnector_JVMcompatible.scala | 5 +- .../bankconnectors/LocalMappedConnector.scala | 29 +- .../ObpJvmMappedConnector.scala | 7 +- .../KafkaJsonFactory_vJune2017.scala | 9 +- .../KafkaMappedConnector_vJune2017.scala | 2 - .../KafkaMappedConnector_vMar2017.scala | 16 +- .../KafkaJsonFactory_vSept2018.scala | 10 +- .../KafkaMappedConnector_vSept2018.scala | 2 - .../main/scala/code/branches/Branches.scala | 77 +--- .../branches/MappedBranchesProvider.scala | 4 +- .../src/main/scala/code/common/Common.scala | 98 +---- .../code/context/MappedUserAuthContext.scala | 1 + .../scala/code/context/UserAuthContext.scala | 8 - .../context/UserAuthContextProvider.scala | 1 + .../src/main/scala/code/crm/CrmEvent.scala | 3 +- .../code/crm/MappedCrmEventProvider.scala | 3 +- .../customeraddress/CustomerAddress.scala | 19 +- .../MappedCustomerAddressProvider.scala | 1 + .../code/meetings/MappedMeetingProvider.scala | 5 +- .../main/scala/code/meetings/Meeting.scala | 35 +- .../code/model/dataAccess/AuthUser.scala | 5 +- .../MappedProductAttributeProvider.scala | 4 +- .../productattribute/ProductAttribute.scala | 32 +- .../MappedProductCollection.scala | 1 + .../productcollection/ProductCollction.scala | 6 +- .../MappedProductCollectionItem.scala | 2 +- .../ProductCollctionItem.scala | 7 +- .../products/MappedProductsProvider.scala | 5 +- .../main/scala/code/products/Products.scala | 12 +- .../RemotedataAccountApplication.scala | 4 +- .../RemotedataAccountApplicationActor.scala | 3 +- .../RemotedataAccountAttribute.scala | 4 +- .../RemotedataAccountAttributeActor.scala | 4 +- .../RemotedataCustomerAddress.scala | 3 +- .../RemotedataProductAttribute.scala | 6 +- .../RemotedataProductAttributeActor.scala | 4 +- .../RemotedataProductCollection.scala | 3 +- .../RemotedataProductCollectionItem.scala | 4 +- .../remotedata/RemotedataTaxResidence.scala | 3 +- .../remotedata/RemotedataUseAuthContext.scala | 3 +- .../scala/code/sandbox/OBPDataImport.scala | 4 +- .../taxresidence/MappedTaxResidence.scala | 1 + .../code/taxresidence/TaxResidence.scala | 8 +- .../MappedTransactionRequestProvider.scala | 4 +- .../test/scala/code/api/v1_4_0/AtmsTest.scala | 4 +- .../scala/code/api/v1_4_0/BranchesTest.scala | 4 +- .../scala/code/api/v1_4_0/ProductsTest.scala | 5 +- .../code/api/v2_1_0/CreateBranchTest.scala | 3 +- .../scala/code/api/v3_0_0/BranchesTest.scala | 5 +- .../code/atms/MappedAtmsProviderTest.scala | 3 +- .../branches/MappedBranchesProviderTest.scala | 3 +- .../customer/MappedCustomerInfoTest.scala | 3 - .../code/sandbox/SandboxDataLoadingTest.scala | 13 +- .../commons/model/CommonModel.scala | 32 +- .../commons/model/CommonModelTrait.scala | 377 ++++++++++++++++++ 78 files changed, 528 insertions(+), 660 deletions(-) delete mode 100644 obp-api/src/main/scala/code/context/UserAuthContext.scala create mode 100644 obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModelTrait.scala diff --git a/obp-api/src/main/scala/code/accountapplication/AccountApplication.scala b/obp-api/src/main/scala/code/accountapplication/AccountApplication.scala index 1d5bf6f4f..3a64a0cdf 100644 --- a/obp-api/src/main/scala/code/accountapplication/AccountApplication.scala +++ b/obp-api/src/main/scala/code/accountapplication/AccountApplication.scala @@ -1,11 +1,9 @@ package code.accountapplication -import java.util.Date - import code.api.util.APIUtil -import code.products.Products.ProductCode import code.remotedata.RemotedataAccountApplication +import com.openbankproject.commons.model.{AccountApplication, ProductCode} import net.liftweb.common.Box import net.liftweb.util.SimpleInjector @@ -29,15 +27,6 @@ trait AccountApplicationProvider { def updateStatus(accountApplicationId:String, status: String): Future[Box[AccountApplication]] } -trait AccountApplication { - def accountApplicationId: String - def productCode: ProductCode - def userId: String - def customerId: String - def dateOfApplication: Date - def status: String -} - class RemotedataAccountApplicationCaseClasses { case class getAll() diff --git a/obp-api/src/main/scala/code/accountapplication/MappedAccountApplication.scala b/obp-api/src/main/scala/code/accountapplication/MappedAccountApplication.scala index e92ad3ed3..ac5ef9bbe 100644 --- a/obp-api/src/main/scala/code/accountapplication/MappedAccountApplication.scala +++ b/obp-api/src/main/scala/code/accountapplication/MappedAccountApplication.scala @@ -3,10 +3,8 @@ package code.accountapplication import java.util.Date import code.api.util.ErrorMessages -import code.customer.MappedCustomer -import code.model.dataAccess.ResourceUser -import code.products.Products.ProductCode import code.util.MappedUUID +import com.openbankproject.commons.model.{AccountApplication, ProductCode} import net.liftweb.common.{Box, Empty, Failure, Full} import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/accountattribute/AccountAttribute.scala b/obp-api/src/main/scala/code/accountattribute/AccountAttribute.scala index 1ccdd3e74..bf8d74831 100644 --- a/obp-api/src/main/scala/code/accountattribute/AccountAttribute.scala +++ b/obp-api/src/main/scala/code/accountattribute/AccountAttribute.scala @@ -2,11 +2,9 @@ package code.accountattribute /* For AccountAttribute */ -import code.accountattribute.AccountAttribute.{AccountAttribute, AccountAttributeType} import code.api.util.APIUtil -import code.products.Products.ProductCode import code.remotedata.RemotedataAccountAttribute -import com.openbankproject.commons.model.{AccountId, BankId} +import com.openbankproject.commons.model.{AccountAttribute, AccountAttributeType, AccountId, BankId, ProductCode} import net.liftweb.common.{Box, Logger} import net.liftweb.util.SimpleInjector @@ -14,36 +12,6 @@ import scala.concurrent.Future object AccountAttribute extends SimpleInjector { - object AccountAttributeType extends Enumeration{ - type ProductAttributeType = Value - val STRING = Value("STRING") - - val INTEGER = Value("INTEGER") - - val DOUBLE = Value("DOUBLE") - - val DATE_WITH_DAY = Value("DATE_WITH_DAY") - } - - - - trait AccountAttribute { - def bankId: BankId - - def accountId: AccountId - - def productCode: ProductCode - - def accountAttributeId: String - - def name: String - - def attributeType: AccountAttributeType.Value - - def value: String - } - - val accountAttributeProvider = new Inject(buildOne _) {} def buildOne: AccountAttributeProvider = diff --git a/obp-api/src/main/scala/code/accountattribute/MappedAccountAttributeProvider.scala b/obp-api/src/main/scala/code/accountattribute/MappedAccountAttributeProvider.scala index 5230f3ab3..2ba667e55 100644 --- a/obp-api/src/main/scala/code/accountattribute/MappedAccountAttributeProvider.scala +++ b/obp-api/src/main/scala/code/accountattribute/MappedAccountAttributeProvider.scala @@ -1,9 +1,7 @@ package code.accountattribute -import code.accountattribute.AccountAttribute.{AccountAttribute, AccountAttributeType} -import code.products.Products.ProductCode import code.util.{MappedUUID, UUIDString} -import com.openbankproject.commons.model.{AccountId, BankId} +import com.openbankproject.commons.model.{AccountAttribute, AccountAttributeType, AccountId, BankId, ProductCode} import net.liftweb.common.{Box, Empty, Full} import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/api/GatewayLogin.scala b/obp-api/src/main/scala/code/api/GatewayLogin.scala index 774ba394e..6527d106e 100755 --- a/obp-api/src/main/scala/code/api/GatewayLogin.scala +++ b/obp-api/src/main/scala/code/api/GatewayLogin.scala @@ -28,14 +28,14 @@ package code.api import code.api.JSONFactoryGateway.PayloadOfJwtJSON import code.api.util._ -import code.bankconnectors.{Connector, InboundAccountCommon} +import code.bankconnectors.Connector import code.consumer.Consumers import code.model.dataAccess.AuthUser import code.model.{Consumer, User} import code.users.Users import code.util.Helper.MdcLoggable import com.nimbusds.jwt.JWTClaimsSet -import com.openbankproject.commons.model.User +import com.openbankproject.commons.model.{InboundAccountCommon, User} import net.liftweb.common._ import net.liftweb.http._ import net.liftweb.http.rest.RestHelper diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala index 6f0b3eaa9..1481d796d 100644 --- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala +++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala @@ -3,14 +3,12 @@ package code.api.ResourceDocs1_4_0 import java.util.UUID.randomUUID import code.api.builder.OBP_APIBuilder -import code.api.UKOpenBanking.v2_0_0.OBP_UKOpenBanking_200 -import code.api.berlin.group.v1.OBP_BERLIN_GROUP_1 -import code.api.berlin.group.v1_3.OBP_BERLIN_GROUP_1_3 + import code.api.cache.Caching import code.api.util.APIUtil._ import code.api.util.ApiTag._ import code.api.util.ApiRole._ -import code.api.util.ApiStandards.{ApiStandards => _, apply => _, _} +import code.api.util.ApiStandards._ import code.api.util._ import code.api.v1_4_0.{APIMethods140, JSONFactory1_4_0, OBPAPI1_4_0} import code.api.v2_2_0.{APIMethods220, OBPAPI2_2_0} 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 9fb490d5c..4b5fcb4c8 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 @@ -16,11 +16,11 @@ import code.api.v3_0_0.JSONFactory300.createBranchJsonV300 import code.api.v3_0_0.custom.JSONFactoryCustom300 import code.api.v3_0_0.{LobbyJsonV330, ScopeJson, _} import code.api.v3_1_0.{BadLoginStatusJson, ContactDetailsJson, InviteeJson, ObpApiLoopbackJson, _} -import code.branches.Branches.{DriveUpString, _} import code.common._ import code.sandbox.SandboxData import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ import code.api.builder.JsonFactory_APIBuilder +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/util/NewStyle.scala b/obp-api/src/main/scala/code/api/util/NewStyle.scala index f37d976f5..1083fa882 100644 --- a/obp-api/src/main/scala/code/api/util/NewStyle.scala +++ b/obp-api/src/main/scala/code/api/util/NewStyle.scala @@ -2,8 +2,6 @@ package code.api.util import java.util.Date -import code.accountapplication.AccountApplication -import code.accountattribute.AccountAttribute.{AccountAttribute, AccountAttributeType} import code.api.APIFailureNewStyle import code.api.util.APIUtil.{OBPReturnType, connectorEmptyResponse, createHttpParamsByUrlFuture, createQueriesByHttpParamsFuture, fullBoxOrException, unboxFull, unboxFullOrFail} import code.api.util.ErrorMessages._ @@ -13,39 +11,27 @@ 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.{ContactDetailsJson, InviteeJson} import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0 -import code.atms.Atms -import code.atms.Atms.AtmId import code.bankconnectors.{Connector, ObpApiLoopback} -import code.branches.Branches -import code.branches.Branches.{Branch, BranchId, DriveUp, DriveUpString, Lobby, LobbyString} -import code.common.{Address, Location, Meta, Routing} +import code.branches.Branches.{Branch, DriveUpString, LobbyString} +import code.common.Routing import code.consumer.Consumers -import code.context.UserAuthContext -import code.customeraddress.CustomerAddress import code.entitlement.Entitlement import code.entitlementrequest.EntitlementRequest import code.fx.{FXRate, MappedFXRate, fx} -import code.meetings.{ContactDetails, Invitee, Meeting} import code.metadata.counterparties.Counterparties import code.model._ -import code.productattribute.ProductAttribute.{ProductAttribute, ProductAttributeType} -import code.productcollection.ProductCollection -import code.productcollectionitem.ProductCollectionItem -import code.products.Products.{Product, ProductCode} -import code.taxresidence.TaxResidence +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 import com.github.dwickern.macros.NameOf.nameOf -import com.openbankproject.commons.model.{Bank, Customer, _} +import com.openbankproject.commons.model.{AccountApplication, Bank, Customer, CustomerAddress, ProductCollection, ProductCollectionItem, TaxResidence, UserAuthContext, _} import net.liftweb.common.{Box, Empty, Full} import net.liftweb.http.provider.HTTPParam import net.liftweb.util.Helpers.tryo -import net.liftweb.util.True import org.apache.commons.lang3.StringUtils import scala.collection.immutable.List @@ -186,7 +172,7 @@ object NewStyle { object function { import scala.concurrent.ExecutionContext.Implicits.global - def getBranch(bankId : BankId, branchId : BranchId, callContext: Option[CallContext]): OBPReturnType[Branches.BranchT] = { + def getBranch(bankId : BankId, branchId : BranchId, callContext: Option[CallContext]): OBPReturnType[BranchT] = { Connector.connector.vend.getBranchFuture(bankId, branchId, callContext) map { val msg: String = s"${BranchNotFoundByBranchId}, or License may not be set. meta.license.id and meta.license.name can not be empty" x => fullBoxOrException(x ~> APIFailureNewStyle(msg, 400, callContext.map(_.toLight))) @@ -200,7 +186,7 @@ object NewStyle { * @param callContext call context * @return true is mean delete success, false is delete fail */ - def deleteBranch(branch : Branches.BranchT, callContext: Option[CallContext]): OBPReturnType[Boolean] = { + def deleteBranch(branch : BranchT, callContext: Option[CallContext]): OBPReturnType[Boolean] = { val deletedBranch = Branch( branch.branchId , branch.bankId , @@ -227,7 +213,7 @@ object NewStyle { } map { unboxFull(_) } } - def getAtm(bankId : BankId, atmId : AtmId, callContext: Option[CallContext]): OBPReturnType[Atms.AtmT] = { + def getAtm(bankId : BankId, atmId : AtmId, callContext: Option[CallContext]): OBPReturnType[AtmT] = { Connector.connector.vend.getAtmFuture(bankId, atmId, callContext) map { x => fullBoxOrException(x ~> APIFailureNewStyle(AtmNotFoundByAtmId, 400, callContext.map(_.toLight))) } map { unboxFull(_) } diff --git a/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala b/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala index 4e0575a79..4d57aa1c7 100644 --- a/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala +++ b/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala @@ -1,16 +1,16 @@ package code.api.v1_4_0 -import code.api.util.APIUtil.isValidCurrencyISOCode import code.api.util.ApiRole._ import code.api.util.ApiTag._ import code.api.util.NewStyle.HttpCode import code.api.util.{APIUtil, ApiRole, ApiVersion, NewStyle} import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_0_0.CreateCustomerJson +import code.atms.Atms import code.bankconnectors.Connector +import code.branches.Branches import code.customer.Customer import code.usercustomerlinks.UserCustomerLink -import code.util.Helper import code.views.Views import com.openbankproject.commons.model._ import net.liftweb.common.{Box, Full} @@ -37,8 +37,6 @@ import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._ import code.api.util.APIUtil.{ResourceDoc, authenticationRequiredMessage, _} import code.api.util.ErrorMessages import code.api.util.ErrorMessages._ -import code.atms.Atms -import code.branches.Branches import code.crm.CrmEvent import code.customer.CustomerMessages import code.model._ 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 42694e5f9..7ec5de9c2 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 @@ -5,12 +5,8 @@ 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.atms.Atms.AtmT -import code.branches.Branches.BranchT -import code.common._ import code.crm.CrmEvent.CrmEvent import code.customer.CustomerMessage -import code.model._ import code.products.Products.Product import code.transactionrequests.TransactionRequestTypeCharge import code.transactionrequests.TransactionRequests.{TransactionRequest, _} 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 9afd89805..3ce31cbbf 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 @@ -32,7 +32,7 @@ import code.usercustomerlinks.UserCustomerLink import code.util.Helper import code.util.Helper.booleanToBox import code.views.Views -import com.openbankproject.commons.model._ +import com.openbankproject.commons.model.{Meeting, _} import net.liftweb.common.{Full, _} import net.liftweb.http.CurrentReq import net.liftweb.http.rest.RestHelper 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 3d52d2b9c..e5ce5cf5d 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 @@ -36,13 +36,12 @@ import code.kycchecks.KycCheck import code.kycdocuments.KycDocument import code.kycmedias.KycMedia import code.kycstatuses.KycStatus -import code.meetings.Meeting import code.model._ import code.model.dataAccess.AuthUser import code.socialmedia.SocialMedia import code.transactionrequests.TransactionRequests._ import code.users.Users -import com.openbankproject.commons.model._ +import com.openbankproject.commons.model.{BankAccount, _} import net.liftweb.common.{Box, Full} import net.liftweb.json.Extraction import net.liftweb.json.JsonAST.JValue 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 817e44cba..38fe8ad1c 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 @@ -15,17 +15,14 @@ import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_0_0._ import code.api.v2_1_0.JSONFactory210._ import code.atms.Atms -import code.atms.Atms.AtmId import code.bankconnectors._ import code.branches.Branches -import code.branches.Branches.BranchId import code.consumer.Consumers import code.customer.Customer import code.entitlement.Entitlement import code.fx.fx import code.metrics.APIMetrics import code.model.{Bank, BankAccount, Consumer, User, toUserEx} -import code.products.Products.ProductCode import code.sandbox.SandboxData import code.transactionrequests.TransactionRequests.{TransactionChallengeTypes, TransactionRequestTypes} import code.usercustomerlinks.UserCustomerLink 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 5c895666e..38dcedee5 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 @@ -34,8 +34,7 @@ import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, BankRouti 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 -import code.branches.Branches._ -import code.common._ +import code.branches.Branches.{Branch, DriveUpString, LobbyString} import code.entitlement.Entitlement import code.metrics.APIMetric import code.model.dataAccess.ResourceUser 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 5ad6385cf..e4d3ad725 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 @@ -35,9 +35,8 @@ import code.api.util.APIUtil.MessageDoc import code.api.v1_2_1.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, BankRoutingJsonV121} import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_1_0.{PostCounterpartyBespokeJson, ResourceUserJSON} -import code.atms.Atms.{Atm, AtmId, AtmT} -import code.branches.Branches._ -import code.common.{Address, Location, Meta} +import code.atms.Atms.Atm +import code.branches.Branches.{Branch, DriveUpString, LobbyString} import code.fx.FXRate import code.metrics.ConnectorMetric import code.model.dataAccess.ResourceUser diff --git a/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala b/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala index 6195d85d6..f6ea7ad19 100644 --- a/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala +++ b/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala @@ -15,10 +15,7 @@ import code.api.util._ import code.api.v1_2_1.JSONFactory import code.api.v2_0_0.JSONFactory200 import code.api.v3_0_0.JSONFactory300._ -import code.atms.Atms.AtmId import code.bankconnectors._ -import code.branches.Branches -import code.branches.Branches.BranchId import code.consumer.Consumers import code.entitlementrequest.EntitlementRequest import code.metrics.APIMetrics @@ -30,6 +27,7 @@ import code.util.Helper import code.util.Helper.booleanToBox import code.views.Views import com.github.dwickern.macros.NameOf.nameOf +import com.grum.geocalc.{Coordinate, EarthCalc, Point} import com.openbankproject.commons.model._ import net.liftweb.common._ import net.liftweb.http.S @@ -42,9 +40,6 @@ import scala.collection.immutable.{List, Nil} import scala.collection.mutable.ArrayBuffer import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future -import com.grum.geocalc.Coordinate -import com.grum.geocalc.EarthCalc -import com.grum.geocalc.Point trait APIMethods300 { @@ -1010,7 +1005,7 @@ trait APIMethods300 { branchJsonV300 <- tryo {json.extract[BranchJsonV300]} ?~! {ErrorMessages.InvalidJsonFormat + " BranchJsonV300"} _ <- booleanToBox(branchJsonV300.bank_id == bank.bankId.value, "BANK_ID has to be the same in the URL and Body") branch <- transformToBranchFromV300(branchJsonV300) ?~! {ErrorMessages.CouldNotTransformJsonToInternalModel + " Branch"} - success: Branches.BranchT <- Connector.connector.vend.createOrUpdateBranch(branch) ?~! {ErrorMessages.CountNotSaveOrUpdateResource + " Branch"} + success: BranchT <- Connector.connector.vend.createOrUpdateBranch(branch) ?~! {ErrorMessages.CountNotSaveOrUpdateResource + " Branch"} } yield { val json = JSONFactory300.createBranchJsonV300(success) createdJsonResponse(Extraction.decompose(json), 201) @@ -1073,7 +1068,7 @@ trait APIMethods300 { postBranchJsonV300.phone_number) _ <- booleanToBox(branchJsonV300.bank_id == bank.bankId.value, "BANK_ID has to be the same in the URL and Body") branch <- transformToBranchFromV300(branchJsonV300) ?~! {ErrorMessages.CouldNotTransformJsonToInternalModel + " Branch"} - success: Branches.BranchT <- Connector.connector.vend.createOrUpdateBranch(branch) ?~! {ErrorMessages.CountNotSaveOrUpdateResource + " Branch"} + success: BranchT <- Connector.connector.vend.createOrUpdateBranch(branch) ?~! {ErrorMessages.CountNotSaveOrUpdateResource + " Branch"} } yield { val json = JSONFactory300.createBranchJsonV300(success) createdJsonResponse(Extraction.decompose(json), 201) @@ -1354,7 +1349,7 @@ trait APIMethods300 { case true => anonymousAccess(cc) } (_, callContext) <- NewStyle.function.getBank(bankId, callContext) - (atm, callContext) <- NewStyle.function.getAtm(bankId,atmId, callContext) + (atm, callContext) <- NewStyle.function.getAtm(bankId, atmId, callContext) } yield { (JSONFactory300.createAtmJsonV300(atm), HttpCode.`200`(callContext)) } diff --git a/obp-api/src/main/scala/code/api/v3_0_0/JSONFactory3.0.0.scala b/obp-api/src/main/scala/code/api/v3_0_0/JSONFactory3.0.0.scala index 1336d51a7..e3158363b 100644 --- a/obp-api/src/main/scala/code/api/v3_0_0/JSONFactory3.0.0.scala +++ b/obp-api/src/main/scala/code/api/v3_0_0/JSONFactory3.0.0.scala @@ -38,8 +38,8 @@ import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_0_0.EntitlementJSONs import code.api.v2_0_0.JSONFactory200.{UserJsonV200, UsersJsonV200} import code.api.v2_1_0.CustomerCreditRatingJSON -import code.atms.Atms.{Atm, AtmId, AtmT} -import code.branches.Branches._ +import code.atms.Atms.Atm +import code.branches.Branches.Branch import code.entitlement.Entitlement import code.entitlementrequest.EntitlementRequest import code.metrics.AggregateMetrics @@ -54,7 +54,6 @@ import scala.collection.immutable.List //import code.api.v1_4_0.JSONFactory1_4_0._ import code.api.v2_0_0.JSONFactory200 import code.api.v2_0_0.JSONFactory200.CoreTransactionDetailsJSON -import code.branches.Branches.Branch import code.common._ // should replace Address in 1.4 diff --git a/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala b/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala index 9b21fa849..e71ec27d0 100644 --- a/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala +++ b/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala @@ -2,7 +2,6 @@ package code.api.v3_1_0 import java.util.UUID -import code.accountattribute.AccountAttribute.AccountAttributeType import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._ import code.api.ResourceDocs1_4_0.{MessageDocsSwaggerDefinitions, SwaggerDefinitionsJSON, SwaggerJSONFactory} import code.api.util.APIUtil._ @@ -20,16 +19,13 @@ import code.api.v3_0_0.JSONFactory300.createAdapterInfoJson import code.api.v3_1_0.JSONFactory310._ import code.bankconnectors.Connector import code.bankconnectors.rest.RestConnector -import code.branches.Branches.BranchId import code.consumer.Consumers import code.entitlement.Entitlement import code.loginattempts.LoginAttempt -import code.meetings.{ContactDetails, Invitee} import code.metrics.APIMetrics import code.model._ import code.model.dataAccess.{AuthUser, BankAccountCreation} -import code.productattribute.ProductAttribute.ProductAttributeType -import code.products.Products.{Product, ProductCode} +import code.products.Products.{Product} import code.users.Users import code.util.Helper import code.webhook.AccountWebhook 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 19cab72f5..9de38c10b 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 @@ -29,37 +29,26 @@ package code.api.v3_1_0 import java.lang import java.util.Date -import code.accountapplication.AccountApplication -import code.accountattribute.AccountAttribute.AccountAttribute 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.v2_0_0.{MeetingJson, MeetingKeysJson, MeetingPresentJson} +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.common.Meta -import code.context.UserAuthContext -import code.customeraddress.CustomerAddress import code.entitlement.Entitlement import code.loginattempts.BadLoginAttempt -import code.meetings.Meeting import code.metrics.{TopApi, TopConsumer} import code.model.{Consumer, User} -import code.productattribute.ProductAttribute.ProductAttribute -import code.productcollection.ProductCollection -import code.productcollectionitem.ProductCollectionItem import code.products.Products.Product -import code.taxresidence.TaxResidence import code.webhook.AccountWebhook -import com.openbankproject.commons.model.{Customer, User} +import com.openbankproject.commons.model.{AccountApplication, ProductCollection, ProductCollectionItem, TaxResidence, _} import net.liftweb.common.{Box, Full} import scala.collection.immutable.List -import scala.collection.mutable.ArrayBuffer case class CheckbookOrdersJson( account: AccountV310Json , diff --git a/obp-api/src/main/scala/code/atms/Atms.scala b/obp-api/src/main/scala/code/atms/Atms.scala index a6dc72242..041e9b2f8 100644 --- a/obp-api/src/main/scala/code/atms/Atms.scala +++ b/obp-api/src/main/scala/code/atms/Atms.scala @@ -5,61 +5,12 @@ package code.atms // Need to import these one by one because in same package! import code.api.util.OBPQueryParam -import code.atms.Atms.{AtmId, AtmT} -import code.common._ -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model._ import net.liftweb.common.Logger import net.liftweb.util.SimpleInjector object Atms extends SimpleInjector { - case class AtmId(value : String){ - override def toString() = value - } - - object AtmId { - def unapply(id : String) = Some(AtmId(id)) - } - - trait AtmT { - def atmId : AtmId - def bankId : BankId - def name : String - def address : AddressT - def location : LocationT - def meta : MetaT - - def OpeningTimeOnMonday : Option[String] - def ClosingTimeOnMonday : Option[String] - - def OpeningTimeOnTuesday : Option[String] - def ClosingTimeOnTuesday : Option[String] - - def OpeningTimeOnWednesday : Option[String] - def ClosingTimeOnWednesday : Option[String] - - def OpeningTimeOnThursday : Option[String] - def ClosingTimeOnThursday: Option[String] - - def OpeningTimeOnFriday : Option[String] - def ClosingTimeOnFriday : Option[String] - - def OpeningTimeOnSaturday : Option[String] - def ClosingTimeOnSaturday : Option[String] - - def OpeningTimeOnSunday: Option[String] - def ClosingTimeOnSunday : Option[String] - - def isAccessible : Option[Boolean] - - def locatedAt : Option[String] - def moreInfo : Option[String] - def hasDepositCapability : Option[Boolean] - - - - } - case class Atm ( atmId : AtmId, bankId : BankId, diff --git a/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala b/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala index f06d3bf8d..a2e616f09 100644 --- a/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala +++ b/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala @@ -1,10 +1,8 @@ package code.atms import code.api.util.{OBPLimit, OBPOffset, OBPQueryParam} -import code.atms.Atms._ -import code.common._ import code.util.{TwentyFourHourClockString, UUIDString} -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model._ import net.liftweb.mapper._ object MappedAtmsProvider extends AtmsProvider { diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala index 082fd781d..bc57f4a8b 100644 --- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala @@ -3,9 +3,6 @@ package code.bankconnectors import java.util.Date import java.util.UUID.randomUUID -import code.accountapplication.AccountApplication -import code.accountattribute.AccountAttribute.{AccountAttribute, AccountAttributeType} -import code.accountholders.{AccountHolders, MapperAccountHolders} import code.accountholders.{AccountHolders, MapperAccountHolders} import code.api.cache.Caching import code.api.util.APIUtil._ @@ -17,26 +14,18 @@ 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.atms.Atms -import code.atms.Atms.{AtmId, AtmT} import code.bankconnectors.akka.AkkaConnector_vDec2018 import code.bankconnectors.vJune2017.KafkaMappedConnector_vJune2017 import code.bankconnectors.vMar2017.KafkaMappedConnector_vMar2017 import code.bankconnectors.vSept2018.KafkaMappedConnector_vSept2018 -import code.branches.Branches.{Branch, BranchId, BranchT} -import code.context.UserAuthContext -import code.model.{Transaction, toUserEx} -import code.customeraddress.CustomerAddress +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.meetings.{ContactDetails, Invitee, Meeting} import code.model.dataAccess.ResourceUser -import code.productattribute.ProductAttribute.{ProductAttribute, ProductAttributeType} -import code.productcollection.ProductCollection -import code.productcollectionitem.ProductCollectionItem -import code.products.Products.{Product, ProductCode} -import code.taxresidence.TaxResidence +import code.model.{Transaction, toUserEx} +import code.products.Products.Product import code.transactionChallenge.ExpectedChallengeAnswer import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ import code.transactionrequests.TransactionRequests._ @@ -44,7 +33,7 @@ import code.transactionrequests.{TransactionRequestTypeCharge, TransactionReques import code.users.Users import code.util.Helper._ import code.views.Views -import com.openbankproject.commons.model.{Bank, CounterpartyTrait, TransactionRequestStatus, _} +import com.openbankproject.commons.model.{AccountApplication, Bank, CounterpartyTrait, CustomerAddress, ProductCollection, ProductCollectionItem, TaxResidence, TransactionRequestStatus, UserAuthContext, _} import com.tesobe.CacheKeyFromArguments import net.liftweb.common.{Box, Empty, Failure, Full} import net.liftweb.json.Extraction.decompose @@ -58,9 +47,9 @@ 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.math.BigInt import scala.util.Random -import scala.concurrent.duration._ /* So we can switch between different sources of resources e.g. @@ -108,25 +97,7 @@ case class InboundUser( password: String, displayName: String ) -// This is the common InboundAccount from all Kafka/remote, not finished yet. -trait InboundAccountCommon{ - def errorCode: String - def bankId: String - def branchId: String - def accountId: String - def accountNumber: String - def accountType: String - def balanceAmount: String - def balanceCurrency: String - def owners: List[String] - def viewsToGenerate: List[String] - def bankRoutingScheme:String - def bankRoutingAddress:String - def branchRoutingScheme:String - def branchRoutingAddress:String - def accountRoutingScheme:String - def accountRoutingAddress:String -} + case class ObpApiLoopback( connectorVersion: String, gitCommit: String, diff --git a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala index 2ab983a89..4a5e17864 100644 --- a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector.scala @@ -23,15 +23,13 @@ Osloerstrasse 16/17 Berlin 13359, Germany */ -import java.text.SimpleDateFormat -import java.util.{Date, Locale, UUID} +import java.util.Date -import code.accountholders.AccountHolders 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, BranchT} +import code.bankconnectors.vMar2017.KafkaMappedConnector_vMar2017 +import code.branches.Branches.Branch import code.fx.{FXRate, fx} import code.kafka.KafkaHelper import code.management.ImporterAPI.ImporterTransaction @@ -43,7 +41,7 @@ import code.metadata.transactionimages.TransactionImages import code.metadata.wheretags.WhereTags import code.model._ import code.model.dataAccess._ -import code.products.Products.{Product, ProductCode} +import code.products.Products.Product import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ import code.transactionrequests.TransactionRequests._ @@ -55,11 +53,10 @@ import com.openbankproject.commons.model.{Bank, _} import net.liftweb.common._ import net.liftweb.mapper._ import net.liftweb.util.Helpers._ -import net.liftweb.util.Props import scala.collection.immutable.{List, Seq} -import scala.concurrent.Future import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent.Future object KafkaMappedConnector extends Connector with KafkaHelper with MdcLoggable { 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 f8b9936b9..9c569a925 100644 --- a/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector_JVMcompatible.scala +++ b/obp-api/src/main/scala/code/bankconnectors/KafkaMappedConnector_JVMcompatible.scala @@ -36,10 +36,9 @@ 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.{AtmId, AtmT} import code.atms.{Atms, MappedAtm} import code.bankconnectors.vMar2017.KafkaMappedConnector_vMar2017 -import code.branches.Branches.{Branch, BranchT} +import code.branches.Branches.Branch import code.fx.FXRate import code.kafka.KafkaHelper import code.management.ImporterAPI.ImporterTransaction @@ -50,7 +49,7 @@ import code.metadata.transactionimages.TransactionImages import code.metadata.wheretags.WhereTags import code.model._ import code.model.dataAccess._ -import code.products.Products.{Product, ProductCode} +import code.products.Products.Product import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ import code.transactionrequests.TransactionRequests._ diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index 4983569ac..b09ae015d 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -1,46 +1,41 @@ package code.bankconnectors +import java.util.Date import java.util.UUID.randomUUID -import java.util.{Date, UUID} import code.accountapplication.AccountApplication import code.accountattribute.AccountAttribute -import code.accountattribute.AccountAttribute.{AccountAttribute, AccountAttributeType} -import code.customeraddress.{CustomerAddress, MappedCustomerAddress} import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON 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.api.v3_1_0.{CardObjectJson, CheckbookOrdersJson, PostCustomerJsonV310, TaxResidenceV310} -import code.atms.Atms.{AtmId, AtmT} -import code.atms.{Atms, MappedAtm} +import code.atms.Atms.Atm +import code.atms.MappedAtm import code.bankconnectors.vJune2017.InboundAccountJune2017 -import code.branches.Branches._ +import code.branches.Branches.Branch import code.branches.MappedBranch import code.cards.MappedPhysicalCard -import code.common.OpeningTimes -import code.context.{UserAuthContext, UserAuthContextProvider} +import code.context.UserAuthContextProvider import code.customer._ +import code.customeraddress.CustomerAddress import code.fx.{FXRate, MappedFXRate, fx} import code.management.ImporterAPI.ImporterTransaction -import code.meetings.{ContactDetails, Invitee, Meeting} +import code.meetings.Meeting 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 code.model.dataAccess._ import code.model._ +import code.model.dataAccess._ import code.productattribute.ProductAttribute -import code.productattribute.ProductAttribute.{ProductAttribute, ProductAttributeType} -import code.productcollection.{MappedProductCollectionProvider, ProductCollection} +import code.productcollection.ProductCollection import code.productcollectionitem.ProductCollectionItem import code.products.MappedProduct -import code.products.Products.{Product, ProductCode} -import code.taxresidence +import code.products.Products.{Product} import code.taxresidence.TaxResidence import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests._ @@ -49,7 +44,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._ +import com.openbankproject.commons.model.{AccountApplication, AccountAttribute, ProductAttribute, ProductCollectionItem, TaxResidence, _} import com.tesobe.CacheKeyFromArguments import com.tesobe.model.UpdateBankAccount import net.liftweb.common._ @@ -1407,7 +1402,7 @@ object LocalMappedConnector extends Connector with MdcLoggable { // TODO This should accept a normal case class not "json" case class i.e. don't rely on REST json structures - override def createOrUpdateAtm(atm: Atms.Atm): Box[AtmT] = { + override def createOrUpdateAtm(atm: Atm): Box[AtmT] = { val isAccessibleString = optionBooleanToString(atm.isAccessible) val hasDepositCapabilityString = optionBooleanToString(atm.hasDepositCapability) diff --git a/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala index a42770a0f..47bbb5eef 100644 --- a/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/ObpJvmMappedConnector.scala @@ -10,7 +10,7 @@ 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, BranchT} +import code.branches.Branches.Branch import code.fx.{FXRate, fx} import code.management.ImporterAPI.ImporterTransaction import code.metadata.comments.Comments @@ -20,7 +20,8 @@ import code.metadata.transactionimages.TransactionImages import code.metadata.wheretags.WhereTags import code.model._ import code.model.dataAccess._ -import code.products.Products.{Product, ProductCode} +import code.products.Products.Product +import code.model.Transaction import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests._ import code.transactionrequests._ @@ -30,7 +31,7 @@ import code.views.Views import com.google.common.cache.CacheBuilder import com.openbankproject.commons.model.{Bank, _} import com.tesobe.obp.kafka.{Configuration, SimpleConfiguration, SimpleNorth} -import com.tesobe.obp.transport.nov2016.{Bank => _, Transaction => _, User => _, _} +import com.tesobe.obp.transport.nov2016._ import com.tesobe.obp.transport.spi.{DefaultSorter, TimestampFilter} import com.tesobe.obp.transport.{Pager, Transport} import net.liftweb.common._ 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 6296e70d4..77d6e62e5 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 @@ -1,16 +1,13 @@ package code.bankconnectors.vJune2017 import java.lang -import java.text.SimpleDateFormat -import java.util.{Date, Locale, UUID} +import java.util.Date import code.api.util.APIUtil import code.api.v3_1_0.CheckbookOrdersJson -import code.atms.Atms.{AtmId, AtmT} -import code.bankconnectors._ import code.bankconnectors.vMar2017._ -import code.branches.Branches._ -import code.common.{Address, Location, Meta, Routing} +import code.branches.Branches.{DriveUpString, LobbyString} +import code.common.Routing import code.kafka.Topics._ import code.model.dataAccess.MappedBankAccountData import code.transactionrequests.TransactionRequests.TransactionRequest 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 ba3115744..2f898a9b6 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 @@ -34,10 +34,8 @@ import code.api.util.ErrorMessages._ import code.api.util._ import code.api.util.APIUtil._ import code.api.v3_1_0.{AccountV310Json, CardObjectJson, CheckbookOrdersJson} -import code.atms.Atms.{AtmId, AtmT} import code.bankconnectors._ import code.bankconnectors.vMar2017._ -import code.branches.Branches.{BranchId, BranchT, Lobby} import code.common._ import code.customer._ import code.kafka.KafkaHelper diff --git a/obp-api/src/main/scala/code/bankconnectors/vMar2017/KafkaMappedConnector_vMar2017.scala b/obp-api/src/main/scala/code/bankconnectors/vMar2017/KafkaMappedConnector_vMar2017.scala index 2686afbdf..dcc4a0956 100644 --- a/obp-api/src/main/scala/code/bankconnectors/vMar2017/KafkaMappedConnector_vMar2017.scala +++ b/obp-api/src/main/scala/code/bankconnectors/vMar2017/KafkaMappedConnector_vMar2017.scala @@ -23,16 +23,14 @@ Osloerstrasse 16/17 Berlin 13359, Germany */ -import java.text.SimpleDateFormat -import java.util.{Date, Locale, UUID} +import java.util.Date -import code.accountholders.AccountHolders -import code.api.util.ErrorMessages._ import code.api.util.APIUtil.MessageDoc +import code.api.util.ErrorMessages._ import code.api.util._ import code.api.v2_1_0._ import code.bankconnectors._ -import code.branches.Branches.{Branch, BranchT} +import code.branches.Branches.Branch import code.fx.{FXRate, fx} import code.kafka.KafkaHelper import code.management.ImporterAPI.ImporterTransaction @@ -44,7 +42,7 @@ import code.metadata.transactionimages.TransactionImages import code.metadata.wheretags.WhereTags import code.model._ import code.model.dataAccess._ -import code.products.Products.{Product, ProductCode} +import code.products.Products.Product import code.transaction.MappedTransaction import code.transactionrequests.TransactionRequests.TransactionRequestTypes._ import code.transactionrequests.TransactionRequests._ @@ -54,16 +52,12 @@ import code.util.{Helper, TTLCache} import code.views.Views import com.openbankproject.commons.model.{Bank, _} import net.liftweb.common._ -import net.liftweb.json.Extraction -import net.liftweb.json.JsonAST.JValue import net.liftweb.mapper._ import net.liftweb.util.Helpers._ -import net.liftweb.util.Props import scala.collection.immutable.{Nil, Seq} -import scala.collection.mutable.ArrayBuffer -import scala.concurrent.Future import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent.Future trait KafkaMappedConnector_vMar2017 extends Connector with KafkaHelper with MdcLoggable { 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 022c39281..4bff30c40 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 @@ -5,18 +5,14 @@ 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.atms.Atms.{AtmId, AtmT} -import code.bankconnectors._ import code.bankconnectors.vJune2017.InternalCustomer import code.bankconnectors.vMar2017._ -import code.branches.Branches._ -import code.common.{Address, Location, Meta, Routing} -import code.context.UserAuthContext +import code.branches.Branches.{DriveUpString, LobbyString} +import code.common.Routing import code.kafka.Topics._ import code.model.dataAccess.MappedBankAccountData -import code.model._ import code.transactionrequests.TransactionRequests.TransactionRequest -import com.openbankproject.commons.model.{CounterpartyTrait, Customer, _} +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 0bb11880f..f93e498ce 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 @@ -33,11 +33,9 @@ import code.api.util.APIUtil.{MessageDoc, saveConnectorMetric, _} import code.api.util.ErrorMessages._ import code.api.util._ import code.api.v3_1_0.CardObjectJson -import code.atms.Atms.AtmId import code.bankconnectors._ import code.bankconnectors.vJune2017.{InternalCustomer, JsonFactory_vJune2017} import code.bankconnectors.vMar2017._ -import code.branches.Branches.{BranchId, Lobby} import code.common._ import code.customer._ import code.kafka.{KafkaHelper, Topics} diff --git a/obp-api/src/main/scala/code/branches/Branches.scala b/obp-api/src/main/scala/code/branches/Branches.scala index 10ec772c5..07417bb40 100644 --- a/obp-api/src/main/scala/code/branches/Branches.scala +++ b/obp-api/src/main/scala/code/branches/Branches.scala @@ -5,50 +5,13 @@ package code.branches // Need to import these one by one because in same package! import code.api.util.OBPQueryParam -import code.branches.Branches.{BranchId, BranchT} import code.common._ -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model._ import net.liftweb.common.Logger import net.liftweb.util.SimpleInjector object Branches extends SimpleInjector { - case class BranchId(value : String) { - override def toString = value - } - - object BranchId { - def unapply(id : String) = Some(BranchId(id)) - } - -// MappedBranch will implement this. -// The trait defines the fields the API will interact with. - - trait BranchT { - def branchId: BranchId - def bankId: BankId - def name: String - def address: Address - def location: Location - def lobbyString: Option[LobbyStringT] - def driveUpString: Option[DriveUpStringT] - def meta: Meta - def branchRouting: Option[RoutingT] - def lobby: Option[Lobby] - def driveUp: Option[DriveUp] - // Easy access for people who use wheelchairs etc. "Y"=true "N"=false ""=Unknown - def isAccessible : Option[Boolean] - def accessibleFeatures: Option[String] - def branchType : Option[String] - def moreInfo : Option[String] - def phoneNumber : Option[String] - // marks whether this branch is deleted - def isDeleted : Option[Boolean] - } - - - - // This is the API Version indpendent case class for Branches. // Use this internally case class Branch( @@ -212,52 +175,14 @@ object Branches extends SimpleInjector { // ) extends Branch - - - - case class Lobby( - monday: List[OpeningTimes], - tuesday: List[OpeningTimes], - wednesday: List[OpeningTimes], - thursday: List[OpeningTimes], - friday: List[OpeningTimes], - saturday: List[OpeningTimes], - sunday: List[OpeningTimes] - ) - - case class DriveUp( - monday: OpeningTimes, - tuesday: OpeningTimes, - wednesday: OpeningTimes, - thursday: OpeningTimes, - friday: OpeningTimes, - saturday: OpeningTimes, - sunday: OpeningTimes - ) - - - - - - // - @deprecated("Use Lobby instead which contains detailed fields, not this string","24 July 2017") - trait LobbyStringT { - def hours : String - } - @deprecated("Use Lobby instead which contains detailed fields, not this string","24 July 2017") case class LobbyString ( hours : String ) extends LobbyStringT - @deprecated("Use DriveUp instead which contains detailed fields now, not this string","24 July 2017") - trait DriveUpStringT { - def hours : String - } - @deprecated("Use DriveUp instead which contains detailed fields now, not this string","24 July 2017") case class DriveUpString ( hours : String diff --git a/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala b/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala index a2df588c0..299664b68 100644 --- a/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala +++ b/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala @@ -1,10 +1,8 @@ package code.branches import code.api.util.{OBPLimit, OBPOffset, OBPQueryParam} -import code.branches.Branches._ -import code.common._ import code.util.{TwentyFourHourClockString, UUIDString} -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model._ import net.liftweb.common.Logger import net.liftweb.mapper.{By, _} diff --git a/obp-api/src/main/scala/code/common/Common.scala b/obp-api/src/main/scala/code/common/Common.scala index ba439bca0..5179baf23 100644 --- a/obp-api/src/main/scala/code/common/Common.scala +++ b/obp-api/src/main/scala/code/common/Common.scala @@ -2,106 +2,12 @@ package code.common import java.util.Date +import com.openbankproject.commons.model._ + // We use traits so we can override in the Provider for database access etc. // We use case classes based on the traits so we can easily construct a data structure like the trait. - -trait LicenseT { - def id : String - def name : String - } - -case class License ( - id : String, - name : String -) extends LicenseT - - - - trait MetaT { - def license : LicenseT - } - -case class Meta ( - license : License -) extends MetaT - - - trait AddressT { - def line1 : String - def line2 : String - def line3 : String - def city : String - def county : Option[String] - def state : String - def postCode : String - //ISO_3166-1_alpha-2 - def countryCode : String - } - - - - - - - -case class Address( -line1 : String, -line2 : String, -line3 : String, -city : String, -county : Option[String], -state : String, -postCode : String, -//ISO_3166-1_alpha-2 -countryCode : String) extends AddressT - - - trait LocationT { - def latitude: Double - def longitude: Double - } - - -case class Location( - latitude: Double, - longitude: Double, - date : Option[Date], - user: Option[BasicResourceUser] -) extends LocationT - - - - -case class OpeningTimes( - openingTime: String, - closingTime: String -) - - -trait RoutingT { - def scheme: String - def address: String -} - case class Routing( scheme: String, address: String ) extends RoutingT - - -/* -Basic User data - */ -case class BasicResourceUser( - userId: String, // Should come from Resource User Id - provider: String, - username: String -) - - - - - - - diff --git a/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala b/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala index 87b6edbe5..11b34e172 100644 --- a/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala +++ b/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala @@ -1,6 +1,7 @@ package code.context import code.util.{MappedUUID, UUIDString} +import com.openbankproject.commons.model.UserAuthContext import net.liftweb.mapper._ class MappedUserAuthContext extends UserAuthContext with LongKeyedMapper[MappedUserAuthContext] with IdPK with CreatedUpdated { diff --git a/obp-api/src/main/scala/code/context/UserAuthContext.scala b/obp-api/src/main/scala/code/context/UserAuthContext.scala deleted file mode 100644 index ac88012a1..000000000 --- a/obp-api/src/main/scala/code/context/UserAuthContext.scala +++ /dev/null @@ -1,8 +0,0 @@ -package code.context - -trait UserAuthContext { - def userAuthContextId : String - def userId : String - def key : String - def value : String -} \ No newline at end of file diff --git a/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala b/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala index d03b58551..c5ac54960 100644 --- a/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala +++ b/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala @@ -2,6 +2,7 @@ package code.context import code.api.util.APIUtil import code.remotedata.RemotedataUserAuthContext +import com.openbankproject.commons.model.UserAuthContext import net.liftweb.common.Box import net.liftweb.util.SimpleInjector diff --git a/obp-api/src/main/scala/code/crm/CrmEvent.scala b/obp-api/src/main/scala/code/crm/CrmEvent.scala index 1749b284e..02a0515d4 100644 --- a/obp-api/src/main/scala/code/crm/CrmEvent.scala +++ b/obp-api/src/main/scala/code/crm/CrmEvent.scala @@ -5,7 +5,6 @@ package code.crm import code.crm.CrmEvent.{CrmEvent, CrmEventId} -import code.common.{AddressT, LocationT, MetaT} import code.model.dataAccess.ResourceUser import code.model.dataAccess.ResourceUser import net.liftweb.common.Logger @@ -13,7 +12,7 @@ import net.liftweb.util import net.liftweb.util.SimpleInjector import java.util.Date -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, MetaT} object CrmEvent extends util.SimpleInjector { diff --git a/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala b/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala index abea587dd..3616ea621 100644 --- a/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala +++ b/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala @@ -6,11 +6,10 @@ import code.api.util.ErrorMessages._ import code.crm.CrmEvent._ import code.crm.CrmEvent.{CrmEvent, CrmEventId} import code.customer.CustomerMessage -import code.common.{AddressT, LicenseT, LocationT, MetaT} import code.model.dataAccess.ResourceUser import code.users.Users import code.util.{MappedUUID, UUIDString} -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, LicenseT} import net.liftweb.common.Box import net.liftweb.mapper._ import org.joda.time.Hours diff --git a/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala b/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala index a4243ac4e..5372aaa08 100644 --- a/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala +++ b/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala @@ -1,9 +1,8 @@ package code.customeraddress -import java.util.Date - import code.api.util.APIUtil import code.remotedata.RemotedataCustomerAddress +import com.openbankproject.commons.model.CustomerAddress import net.liftweb.common.Box import net.liftweb.util.SimpleInjector @@ -49,22 +48,6 @@ trait CustomerAddressProvider { def deleteAddress(customerAddressId: String): Future[Box[Boolean]] } -trait CustomerAddress { - def customerId: String - def customerAddressId: String - def line1: String - def line2: String - def line3: String - def city: String - def county: String - def state: String - def postcode: String - def countryCode: String - def status: String - def tags: String - def insertDate: Date -} - class RemotedataCustomerAddressCaseClasses { case class getAddress(customerId: String) diff --git a/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala b/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala index 8b38d2757..eca144269 100644 --- a/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala +++ b/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala @@ -5,6 +5,7 @@ import java.util.Date import code.api.util.ErrorMessages import code.customer.MappedCustomer import code.util.{MappedUUID, MediumString} +import com.openbankproject.commons.model.CustomerAddress import net.liftweb.common.{Box, Empty, Failure, Full} import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala b/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala index 274b09791..df86048c0 100644 --- a/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala +++ b/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala @@ -3,11 +3,10 @@ package code.meetings import java.util.Date import code.api.util.ErrorMessages -import code.cards.PinReset import code.model.dataAccess.ResourceUser import code.util.{MappedUUID, UUIDString} -import com.openbankproject.commons.model.{BankId, User} -import net.liftweb.common.{Box, Full} +import com.openbankproject.commons.model.{BankId, ContactDetails, Invitee, Meeting, MeetingKeys, MeetingPresent, User} +import net.liftweb.common.Box import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/meetings/Meeting.scala b/obp-api/src/main/scala/code/meetings/Meeting.scala index 6987ab9bc..957e85282 100644 --- a/obp-api/src/main/scala/code/meetings/Meeting.scala +++ b/obp-api/src/main/scala/code/meetings/Meeting.scala @@ -2,49 +2,16 @@ package code.meetings import java.util.Date -import com.openbankproject.commons.model.{BankId, User} +import com.openbankproject.commons.model.{BankId, ContactDetails, Invitee, Meeting, User} import net.liftweb.common.Box import net.liftweb.util.SimpleInjector import scala.collection.immutable.List - -trait Meeting { - def meetingId: String - def providerId: String - def purposeId: String - def bankId: String - def present: MeetingPresent - def keys: MeetingKeys - def when: Date - def creator: ContactDetails - def invitees: List[Invitee] -} -case class Invitee( - contactDetails: ContactDetails, - status: String -) - case class ContactMedium( `type`: String, value: String ) -case class ContactDetails( - name: String, - phone: String, - email: String - ) - -case class MeetingKeys ( - sessionId: String, - customerToken: String, - staffToken: String - ) - -case class MeetingPresent( - staffUserId: String, - customerUserId: String - ) object Meeting extends SimpleInjector { diff --git a/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala b/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala index 6dbd3c916..28347da0b 100644 --- a/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala +++ b/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala @@ -31,13 +31,12 @@ import code.api.util.APIUtil.{hasAnOAuthHeader, isValidStrongPassword, _} import code.api.util.ErrorMessages._ import code.api.util._ import code.api.{DirectLogin, GatewayLogin, OAuthHandshake} -import code.bankconnectors.{Connector, InboundAccountCommon, InboundUser} +import code.bankconnectors.{Connector, InboundUser} import code.loginattempts.LoginAttempt -import code.model._ import code.users.Users import code.util.Helper import code.views.Views -import com.openbankproject.commons.model.{AccountId, BankId, BankIdAccountId, User} +import com.openbankproject.commons.model.{User, _} import net.liftweb.common._ import net.liftweb.http._ import net.liftweb.mapper._ diff --git a/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala b/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala index 2e61cd818..eea2f86e0 100644 --- a/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala +++ b/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala @@ -1,10 +1,8 @@ package code.productAttributeattribute -import code.productattribute.ProductAttribute.{ProductAttribute, ProductAttributeType} import code.productattribute.ProductAttributeProvider -import code.products.Products.ProductCode import code.util.{MappedUUID, UUIDString} -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, ProductAttribute, ProductAttributeType, ProductCode} import net.liftweb.common.{Box, Empty, Full} import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala b/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala index f7d236b9a..7ae959636 100644 --- a/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala +++ b/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala @@ -4,10 +4,8 @@ package code.productattribute import code.api.util.APIUtil import code.productAttributeattribute.MappedProductAttributeProvider -import code.productattribute.ProductAttribute.{ProductAttribute, ProductAttributeType} -import code.products.Products.ProductCode import code.remotedata.RemotedataProductAttribute -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, ProductAttribute, ProductAttributeType, ProductCode} import net.liftweb.common.{Box, Logger} import net.liftweb.util.SimpleInjector @@ -15,34 +13,6 @@ import scala.concurrent.Future object ProductAttribute extends SimpleInjector { - object ProductAttributeType extends Enumeration{ - type ProductAttributeType = Value - val STRING = Value("STRING") - - val INTEGER = Value("INTEGER") - - val DOUBLE = Value("DOUBLE") - - val DATE_WITH_DAY = Value("DATE_WITH_DAY") - } - - - - trait ProductAttribute { - def bankId: BankId - - def productCode: ProductCode - - def productAttributeId: String - - def name: String - - def attributeType: ProductAttributeType.Value - - def value: String - } - - val productAttributeProvider = new Inject(buildOne _) {} def buildOne: ProductAttributeProvider = diff --git a/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala b/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala index 9115f7449..3d5f4929d 100644 --- a/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala +++ b/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala @@ -1,5 +1,6 @@ package code.productcollection +import com.openbankproject.commons.model.ProductCollection import net.liftweb.common._ import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/productcollection/ProductCollction.scala b/obp-api/src/main/scala/code/productcollection/ProductCollction.scala index a7c2ba5c1..16f6d0d78 100644 --- a/obp-api/src/main/scala/code/productcollection/ProductCollction.scala +++ b/obp-api/src/main/scala/code/productcollection/ProductCollction.scala @@ -2,6 +2,7 @@ package code.productcollection import code.api.util.APIUtil import code.remotedata.RemotedataProductCollection +import com.openbankproject.commons.model.ProductCollection import net.liftweb.common.Box import net.liftweb.util.SimpleInjector @@ -24,11 +25,6 @@ trait ProductCollectionProvider { def getOrCreateProductCollection(collectionCode: String, productCodes: List[String]): Future[Box[List[ProductCollection]]] } -trait ProductCollection { - def collectionCode: String - def productCode: String -} - class RemotedataProductCollectionCaseClasses { case class getProductCollection(collectionCode: String) case class getOrCreateProductCollection(collectionCode: String, productCodes: List[String]) diff --git a/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala b/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala index f8aebe479..8a0f3199b 100644 --- a/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala +++ b/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala @@ -1,8 +1,8 @@ package code.productcollectionitem import code.productAttributeattribute.MappedProductAttribute -import code.productattribute.ProductAttribute.ProductAttribute import code.products.MappedProduct +import com.openbankproject.commons.model.{ProductAttribute, ProductCollectionItem} import net.liftweb.common.Box import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala b/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala index 42721f99c..a264f49a6 100644 --- a/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala +++ b/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala @@ -1,9 +1,9 @@ package code.productcollectionitem import code.api.util.APIUtil -import code.productattribute.ProductAttribute.ProductAttribute import code.products.MappedProduct import code.remotedata.RemotedataProductCollectionItem +import com.openbankproject.commons.model.{ProductAttribute, ProductCollectionItem} import net.liftweb.common.Box import net.liftweb.util.SimpleInjector @@ -27,11 +27,6 @@ trait ProductCollectionItemProvider { def getOrCreateProductCollectionItem(collectionCode: String, memberProductCodes: List[String]): Future[Box[List[ProductCollectionItem]]] } -trait ProductCollectionItem { - def collectionCode: String - def memberProductCode: String -} - class RemotedataProductCollectionItemCaseClasses { case class getProductCollectionItemsTree(collectionCode: String, bankId: String) case class getProductCollectionItems(collectionCode: String) diff --git a/obp-api/src/main/scala/code/products/MappedProductsProvider.scala b/obp-api/src/main/scala/code/products/MappedProductsProvider.scala index deb1b2a3f..3d2da9d3a 100644 --- a/obp-api/src/main/scala/code/products/MappedProductsProvider.scala +++ b/obp-api/src/main/scala/code/products/MappedProductsProvider.scala @@ -1,9 +1,8 @@ package code.products -import code.common.{License, Meta} -import code.products.Products.{Product, ProductCode} +import code.products.Products.Product import code.util.UUIDString -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, License, Meta, ProductCode} import net.liftweb.mapper._ diff --git a/obp-api/src/main/scala/code/products/Products.scala b/obp-api/src/main/scala/code/products/Products.scala index 73b28ecf1..bfdcf6405 100644 --- a/obp-api/src/main/scala/code/products/Products.scala +++ b/obp-api/src/main/scala/code/products/Products.scala @@ -4,21 +4,13 @@ package code.products // Need to import these one by one because in same package! -import code.products.Products.{Product, ProductCode} -import code.common.{Address, LocationT, Meta} -import com.openbankproject.commons.model.BankId +import code.products.Products.Product +import com.openbankproject.commons.model.{BankId, Meta, ProductCode} import net.liftweb.common.Logger import net.liftweb.util.SimpleInjector object Products extends SimpleInjector { - // Good to have this as a class because when passing as argument, we get compiler error if passing the wrong type. - case class ProductCode(value : String) - - object ProductCode { - def unapply(code : String) = Some(ProductCode(code)) - } - trait Product { def code : ProductCode def parentProductCode : ProductCode diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplication.scala b/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplication.scala index 8ad564253..03d89169a 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplication.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplication.scala @@ -1,9 +1,9 @@ package code.remotedata import akka.pattern.ask -import code.accountapplication.{AccountApplication, AccountApplicationProvider, RemotedataAccountApplicationCaseClasses} +import code.accountapplication.{AccountApplicationProvider, RemotedataAccountApplicationCaseClasses} import code.actorsystem.ObpActorInit -import code.products.Products.ProductCode +import com.openbankproject.commons.model.{AccountApplication, ProductCode} import net.liftweb.common.Box import scala.concurrent.Future diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplicationActor.scala b/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplicationActor.scala index 8c26a0dac..494f56ef5 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplicationActor.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataAccountApplicationActor.scala @@ -3,9 +3,10 @@ package code.remotedata import akka.actor.Actor import code.accountapplication.{MappedAccountApplicationProvider, RemotedataAccountApplicationCaseClasses} import code.actorsystem.ObpActorHelper -import code.products.Products.ProductCode import code.util.Helper.MdcLoggable import akka.pattern.pipe +import com.openbankproject.commons.model.ProductCode + import scala.concurrent.ExecutionContext.Implicits.global class RemotedataAccountApplicationActor extends Actor with ObpActorHelper with MdcLoggable { diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttribute.scala b/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttribute.scala index b61d943ce..e02fcc194 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttribute.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttribute.scala @@ -1,11 +1,9 @@ package code.remotedata import akka.pattern.ask -import code.accountattribute.AccountAttribute.{AccountAttribute, AccountAttributeType} import code.accountattribute.{AccountAttributeProvider, RemotedataAccountAttributeCaseClasses} import code.actorsystem.ObpActorInit -import code.products.Products.ProductCode -import com.openbankproject.commons.model.{AccountId, BankId} +import com.openbankproject.commons.model._ import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttributeActor.scala b/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttributeActor.scala index d52349824..2f776528f 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttributeActor.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataAccountAttributeActor.scala @@ -2,12 +2,10 @@ package code.remotedata import akka.actor.Actor import akka.pattern.pipe -import code.accountattribute.AccountAttribute.AccountAttributeType import code.accountattribute.{MappedAccountAttributeProvider, RemotedataAccountAttributeCaseClasses} import code.actorsystem.ObpActorHelper -import code.products.Products.ProductCode import code.util.Helper.MdcLoggable -import com.openbankproject.commons.model.{AccountId, BankId} +import com.openbankproject.commons.model.{AccountAttributeType, AccountId, BankId, ProductCode} import scala.concurrent.ExecutionContext.Implicits.global diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataCustomerAddress.scala b/obp-api/src/main/scala/code/remotedata/RemotedataCustomerAddress.scala index 7b53f0693..156113725 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataCustomerAddress.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataCustomerAddress.scala @@ -2,7 +2,8 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.customeraddress.{CustomerAddress, CustomerAddressProvider, RemotedataCustomerAddressCaseClasses} +import code.customeraddress.{CustomerAddressProvider, RemotedataCustomerAddressCaseClasses} +import com.openbankproject.commons.model.CustomerAddress import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataProductAttribute.scala b/obp-api/src/main/scala/code/remotedata/RemotedataProductAttribute.scala index e008f7438..982bcad83 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataProductAttribute.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataProductAttribute.scala @@ -2,10 +2,8 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.productattribute.ProductAttribute.{ProductAttribute, ProductAttributeType} -import code.productattribute.{ProductAttribute, ProductAttributeProvider, RemotedataProductAttributeCaseClasses} -import code.products.Products.ProductCode -import com.openbankproject.commons.model.BankId +import code.productattribute.{ProductAttributeProvider, RemotedataProductAttributeCaseClasses} +import com.openbankproject.commons.model.{BankId, ProductAttribute, ProductAttributeType, ProductCode} import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataProductAttributeActor.scala b/obp-api/src/main/scala/code/remotedata/RemotedataProductAttributeActor.scala index 48f3f6ec3..74b9c6d68 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataProductAttributeActor.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataProductAttributeActor.scala @@ -4,11 +4,9 @@ import akka.actor.Actor import akka.pattern.pipe import code.actorsystem.ObpActorHelper import code.productAttributeattribute.MappedProductAttributeProvider -import code.productattribute.ProductAttribute.ProductAttributeType import code.productattribute.RemotedataProductAttributeCaseClasses -import code.products.Products.ProductCode import code.util.Helper.MdcLoggable -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, ProductAttributeType, ProductCode} import scala.concurrent.ExecutionContext.Implicits.global diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataProductCollection.scala b/obp-api/src/main/scala/code/remotedata/RemotedataProductCollection.scala index 8f2886e55..199419260 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataProductCollection.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataProductCollection.scala @@ -2,7 +2,8 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.productcollection.{ProductCollection, ProductCollectionProvider, RemotedataProductCollectionCaseClasses} +import code.productcollection.{ProductCollectionProvider, RemotedataProductCollectionCaseClasses} +import com.openbankproject.commons.model.ProductCollection import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataProductCollectionItem.scala b/obp-api/src/main/scala/code/remotedata/RemotedataProductCollectionItem.scala index 2823caf21..3764df8b1 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataProductCollectionItem.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataProductCollectionItem.scala @@ -2,9 +2,9 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.productattribute.ProductAttribute.ProductAttribute -import code.productcollectionitem.{ProductCollectionItem, ProductCollectionItemProvider, RemotedataProductCollectionItemCaseClasses} +import code.productcollectionitem.{ProductCollectionItemProvider, RemotedataProductCollectionItemCaseClasses} import code.products.MappedProduct +import com.openbankproject.commons.model.{ProductAttribute, ProductCollectionItem} import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataTaxResidence.scala b/obp-api/src/main/scala/code/remotedata/RemotedataTaxResidence.scala index bf6e813b4..af0f6ded7 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataTaxResidence.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataTaxResidence.scala @@ -2,7 +2,8 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.taxresidence.{RemotedataTaxResidenceCaseClasses, TaxResidence, TaxResidenceProvider} +import code.taxresidence.{RemotedataTaxResidenceCaseClasses, TaxResidenceProvider} +import com.openbankproject.commons.model.TaxResidence import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataUseAuthContext.scala b/obp-api/src/main/scala/code/remotedata/RemotedataUseAuthContext.scala index 262f28d8f..0c915386f 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataUseAuthContext.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataUseAuthContext.scala @@ -2,7 +2,8 @@ package code.remotedata import akka.pattern.ask import code.actorsystem.ObpActorInit -import code.context.{RemotedataUserAuthContextCaseClasses, UserAuthContext, UserAuthContextProvider} +import code.context.{RemotedataUserAuthContextCaseClasses, UserAuthContextProvider} +import com.openbankproject.commons.model.UserAuthContext import net.liftweb.common.Box import scala.collection.immutable.List diff --git a/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala b/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala index cd58a9e29..ff00489f1 100644 --- a/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala +++ b/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala @@ -6,14 +6,12 @@ import java.util.UUID import code.accountholders.AccountHolders import code.api.util.APIUtil._ import code.api.util.{APIUtil, ErrorMessages} -import code.atms.Atms.AtmT import code.bankconnectors.Connector -import code.branches.Branches.BranchT import code.crm.CrmEvent.CrmEvent import code.model._ import code.model.dataAccess.ResourceUser import code.products.Products -import code.products.Products.{Product, ProductCode} +import code.products.Products.{Product} import code.users.Users import code.util.Helper import code.util.Helper.MdcLoggable diff --git a/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala b/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala index ffbdaeb31..affa2d555 100644 --- a/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala +++ b/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala @@ -3,6 +3,7 @@ package code.taxresidence import code.api.util.ErrorMessages import code.customer.MappedCustomer import code.util.{MappedUUID, MediumString} +import com.openbankproject.commons.model.TaxResidence import net.liftweb.common.{Box, Empty, Failure, Full} import net.liftweb.mapper._ import net.liftweb.util.Helpers.tryo diff --git a/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala b/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala index 0a8141ca3..881ae3820 100644 --- a/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala +++ b/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala @@ -2,6 +2,7 @@ package code.taxresidence import code.api.util.APIUtil import code.remotedata.RemotedataTaxResidence +import com.openbankproject.commons.model.TaxResidence import net.liftweb.common.Box import net.liftweb.util.SimpleInjector @@ -24,13 +25,6 @@ trait TaxResidenceProvider { def deleteTaxResidence(taxResidenceId: String): Future[Box[Boolean]] } -trait TaxResidence { - def customerId: Long - def taxResidenceId: String - def domain: String - def taxNumber: String -} - class RemotedataTaxResidenceCaseClasses { case class getTaxResidence(customerId: String) diff --git a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala index d02cd8931..2afcc61ce 100644 --- a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala +++ b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala @@ -3,11 +3,11 @@ package code.transactionrequests import code.api.util.ErrorMessages._ import code.api.v2_1_0.{TransactionRequestBodyCounterpartyJSON, TransactionRequestBodySEPAJSON, TransactionRequestBodySandBoxTanJSON, TransactionRequestCommonBodyJSON} import code.bankconnectors.Connector -import code.metadata.counterparties.MappedCounterparty + import code.model._ import code.transactionrequests.TransactionRequests.{TransactionRequestTypes, _} import code.util.{AccountIdString, UUIDString} -import com.openbankproject.commons.model.{TransactionRequestStatus => _, _} +import com.openbankproject.commons.model._ import net.liftweb.common.{Box, Failure, Full, Logger} import net.liftweb.json import net.liftweb.json.JsonAST.{JField, JObject, JString} diff --git a/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala index eb670431b..596a4e8b0 100644 --- a/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala +++ b/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala @@ -3,11 +3,9 @@ package code.api.v1_4_0 import code.api.util.APIUtil.OAuth._ import code.api.util.OBPQueryParam import code.api.v1_4_0.JSONFactory1_4_0.{AtmJson, AtmsJson} -import code.atms.Atms.{AtmId, AtmT} import code.atms.{Atms, AtmsProvider} -import code.common.{AddressT, LicenseT, LocationT, MetaT} import code.setup.DefaultUsers -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{LicenseT, _} class AtmsTest extends V140ServerSetup with DefaultUsers { diff --git a/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala index 770eeac0e..2e0a1d6a3 100644 --- a/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala +++ b/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala @@ -3,11 +3,9 @@ package code.api.v1_4_0 import code.api.util.APIUtil.OAuth._ import code.api.util.OBPQueryParam import code.api.v1_4_0.JSONFactory1_4_0.{BranchJson, BranchesJson} -import code.branches.Branches.{BranchId, BranchT, DriveUp, DriveUpStringT, Lobby, LobbyStringT} import code.branches.{Branches, BranchesProvider} -import code.common._ import code.setup.DefaultUsers -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model._ /* Note This does not test retrieval from a backend. diff --git a/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala index ead425211..7b684541b 100644 --- a/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala +++ b/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala @@ -2,13 +2,10 @@ package code.api.v1_4_0 import code.api.util.APIUtil.OAuth._ import code.api.v1_4_0.JSONFactory1_4_0.{ProductJson, ProductsJson} -import code.common.{License, LicenseT, Meta, MetaT} -import code.products.Products.ProductCode import code.products.Products.Product import code.products.{Products, ProductsProvider} import code.setup.{DefaultUsers, ServerSetup} -import com.openbankproject.commons.model.BankId -import dispatch._ +import com.openbankproject.commons.model.{BankId, License, Meta, ProductCode} class ProductsTest extends ServerSetup with DefaultUsers with V140ServerSetup { diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala index 71d8403ae..28c6c155a 100644 --- a/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala +++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala @@ -4,9 +4,8 @@ import code.api.util.APIUtil.OAuth._ import code.api.util.ApiRole import code.api.util.ApiRole.CanCreateBranch import code.api.v1_4_0.JSONFactory1_4_0._ -import code.branches.Branches.BranchId import code.setup.DefaultUsers -import com.openbankproject.commons.model.{AccountId, ViewId} +import com.openbankproject.commons.model.{AccountId, BranchId, ViewId} import net.liftweb.json.JsonAST.JString import net.liftweb.json.Serialization.write diff --git a/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala index 11c4e55b7..09747eba4 100644 --- a/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala +++ b/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala @@ -6,13 +6,12 @@ import code.api.util.ApiRole.CanDeleteBranchAtAnyBank import code.api.util.{ApiVersion, ErrorMessages, OBPQueryParam} import code.api.v3_1_0.OBPAPI3_1_0 import code.bankconnectors.Connector -import code.branches.Branches._ +import code.branches.Branches.Branch import code.branches.{Branches, BranchesProvider} -import code.common._ import code.entitlement.Entitlement import code.setup.DefaultUsers import com.github.dwickern.macros.NameOf.nameOf -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model._ import org.scalatest.Tag /* diff --git a/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala b/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala index 66d094d23..0fcdfb0d5 100644 --- a/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala +++ b/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala @@ -1,9 +1,8 @@ package code.atms import code.api.util.OBPLimit -import code.atms.Atms.AtmT import code.setup.ServerSetup -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{AtmT, BankId} import net.liftweb.mapper.By class MappedAtmsProviderTest extends ServerSetup { diff --git a/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala b/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala index 03da776e8..c3f8f4443 100644 --- a/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala +++ b/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala @@ -1,9 +1,8 @@ package code.branches import code.api.util.OBPLimit -import code.branches.Branches.BranchT import code.setup.ServerSetup -import com.openbankproject.commons.model.BankId +import com.openbankproject.commons.model.{BankId, BranchT} import net.liftweb.mapper.By class MappedBranchesProviderTest extends ServerSetup { diff --git a/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala b/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala index 629391410..d7a02c643 100644 --- a/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala +++ b/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala @@ -1,8 +1,5 @@ package code.customer -import java.text.SimpleDateFormat -import java.util.{Date, UUID} - import code.api.util.APIUtil.OAuth._ import code.api.util.{APIUtil, ApiRole} import code.api.v1_4_0.JSONFactory1_4_0.CustomerFaceImageJson diff --git a/obp-api/src/test/scala/code/sandbox/SandboxDataLoadingTest.scala b/obp-api/src/test/scala/code/sandbox/SandboxDataLoadingTest.scala index 69199fc21..7102584d2 100644 --- a/obp-api/src/test/scala/code/sandbox/SandboxDataLoadingTest.scala +++ b/obp-api/src/test/scala/code/sandbox/SandboxDataLoadingTest.scala @@ -30,24 +30,23 @@ import java.util.Date import bootstrap.liftweb.ToSchemify import code.TestServer -import code.api.util.{APIUtil, OBPLimit} import code.api.util.APIUtil._ import code.api.util.ErrorMessages._ +import code.api.util.{APIUtil, OBPLimit} import code.atms.Atms -import code.atms.Atms.{AtmId, AtmT, countOfAtms} +import code.atms.Atms.countOfAtms import code.bankconnectors.Connector import code.branches.Branches -import code.branches.Branches.{BranchId, BranchT, countOfBranches} import code.crm.CrmEvent import code.crm.CrmEvent.{CrmEvent, CrmEventId} import code.model._ import code.model.dataAccess._ import code.products.Products -import code.products.Products.{Product, ProductCode, countOfProducts} +import code.products.Products.{Product, countOfProducts} import code.setup.{APIResponse, SendServerRequests} import code.users.Users import code.views.Views -import com.openbankproject.commons.model.{AccountId, BankId, BankIdAccountId, TransactionId} +import com.openbankproject.commons.model._ import dispatch._ import net.liftweb.common.{Empty, ParamFailure} import net.liftweb.json.JsonAST.{JObject, JValue} @@ -1698,7 +1697,7 @@ class SandboxDataLoadingTest extends FlatSpec with SendServerRequests with Match val existingBranches: Option[List[BranchT]] = Branches.branchesProvider.vend.getBranches(bankId1) // We want the size of the list inside the Option - val existingBranchesCount = countOfBranches(existingBranches) + val existingBranchesCount = Branches.countOfBranches(existingBranches) existingBranchesCount should equal (0) // Check creation succeeds @@ -1706,7 +1705,7 @@ class SandboxDataLoadingTest extends FlatSpec with SendServerRequests with Match response.code should equal(SUCCESS) // Check count after creation. Again counting the items in list, not the option - val countBranchesAfter = countOfBranches(Branches.branchesProvider.vend.getBranches(bankId1)) + val countBranchesAfter = Branches.countOfBranches(Branches.branchesProvider.vend.getBranches(bankId1)) countBranchesAfter should equal(standardBranches.size) // We expect N branches // Check that for each branch we did indeed create something good 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 c195a2148..eef07b51c 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 @@ -1,22 +1,18 @@ package com.openbankproject.commons.model import java.util.Date -import code.customeraddress.CustomerAddress -import code.bankconnectors.InboundAccountCommon -import code.branches.Branches.BranchT -import com.openbankproject.commons.model.Customer -import code.context.UserAuthContext -import code.meetings.Meeting -import code.taxresidence.TaxResidence -import code.productcollectionitem.ProductCollectionItem -import com.openbankproject.commons.model.Bank -import code.productcollection.ProductCollection -import com.openbankproject.commons.model.CounterpartyTrait -import code.atms.Atms.AtmT -import code.productattribute.ProductAttribute.ProductAttribute -import code.accountattribute.AccountAttribute.AccountAttribute -import com.openbankproject.commons.model.BankAccount -import code.accountapplication.AccountApplication +//import code.customeraddress.CustomerAddress +//import code.bankconnectors.InboundAccountCommon +//import code.branches.Branches.BranchT +//import code.context.UserAuthContext +//import code.meetings.Meeting +//import code.taxresidence.TaxResidence +//import code.productcollectionitem.ProductCollectionItem +//import code.productcollection.ProductCollection +//import code.atms.Atms.AtmT +//import code.productattribute.ProductAttribute.ProductAttribute +//import code.accountattribute.AccountAttribute.AccountAttribute +//import code.accountapplication.AccountApplication case class ProductAttributeCommons( bankId :BankId, @@ -38,7 +34,7 @@ case class AccountAttributeCommons( productCode :ProductCode, accountAttributeId :String, name :String, - attributeType :Value, + attributeType : AccountAttributeType.Value, value :String) extends AccountAttribute @@ -205,7 +201,7 @@ case class CounterpartyTraitCommons( otherBranchRoutingScheme :String, otherBranchRoutingAddress :String, isBeneficiary :Boolean, - bespoke :List) extends CounterpartyTrait + bespoke :List[CounterpartyBespoke]) extends CounterpartyTrait case class TaxResidenceCommons( 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 new file mode 100644 index 000000000..10ea0ac2f --- /dev/null +++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModelTrait.scala @@ -0,0 +1,377 @@ +package com.openbankproject.commons.model + +import java.util.Date + +//--------- enums +object AccountAttributeType extends Enumeration{ + type ProductAttributeType = Value + val STRING = Value("STRING") + + val INTEGER = Value("INTEGER") + + val DOUBLE = Value("DOUBLE") + + val DATE_WITH_DAY = Value("DATE_WITH_DAY") +} + + +object ProductAttributeType extends Enumeration{ + type ProductAttributeType = Value + val STRING = Value("STRING") + + val INTEGER = Value("INTEGER") + + val DOUBLE = Value("DOUBLE") + + val DATE_WITH_DAY = Value("DATE_WITH_DAY") +} +//------------------- + + +trait AccountApplication { + def accountApplicationId: String + def productCode: ProductCode + def userId: String + def customerId: String + def dateOfApplication: Date + def status: String +} + +trait AccountAttribute { + def bankId: BankId + + def accountId: AccountId + + def productCode: ProductCode + + def accountAttributeId: String + + def name: String + + def attributeType: AccountAttributeType.Value + + def value: String +} + +trait AtmT { + def atmId: AtmId + + def bankId: BankId + + def name: String + + def address: AddressT + + def location: LocationT + + def meta: MetaT + + def OpeningTimeOnMonday: Option[String] + + def ClosingTimeOnMonday: Option[String] + + def OpeningTimeOnTuesday: Option[String] + + def ClosingTimeOnTuesday: Option[String] + + def OpeningTimeOnWednesday: Option[String] + + def ClosingTimeOnWednesday: Option[String] + + def OpeningTimeOnThursday: Option[String] + + def ClosingTimeOnThursday: Option[String] + + def OpeningTimeOnFriday: Option[String] + + def ClosingTimeOnFriday: Option[String] + + def OpeningTimeOnSaturday: Option[String] + + def ClosingTimeOnSaturday: Option[String] + + def OpeningTimeOnSunday: Option[String] + + def ClosingTimeOnSunday: Option[String] + + def isAccessible: Option[Boolean] + + def locatedAt: Option[String] + + def moreInfo: Option[String] + + def hasDepositCapability: Option[Boolean] + +} + +// MappedBranch will implement this. +// The trait defines the fields the API will interact with. + +trait BranchT { + def branchId: BranchId + def bankId: BankId + def name: String + def address: Address + def location: Location + def lobbyString: Option[LobbyStringT] + def driveUpString: Option[DriveUpStringT] + def meta: Meta + def branchRouting: Option[RoutingT] + def lobby: Option[Lobby] + def driveUp: Option[DriveUp] + // Easy access for people who use wheelchairs etc. "Y"=true "N"=false ""=Unknown + def isAccessible : Option[Boolean] + def accessibleFeatures: Option[String] + def branchType : Option[String] + def moreInfo : Option[String] + def phoneNumber : Option[String] + // marks whether this branch is deleted + def isDeleted : Option[Boolean] +} + +trait CustomerAddress { + def customerId: String + def customerAddressId: String + def line1: String + def line2: String + def line3: String + def city: String + def county: String + def state: String + def postcode: String + def countryCode: String + def status: String + def tags: String + def insertDate: Date +} + +// This is the common InboundAccount from all Kafka/remote, not finished yet. +trait InboundAccountCommon{ + def errorCode: String + def bankId: String + def branchId: String + def accountId: String + def accountNumber: String + def accountType: String + def balanceAmount: String + def balanceCurrency: String + def owners: List[String] + def viewsToGenerate: List[String] + def bankRoutingScheme:String + def bankRoutingAddress:String + def branchRoutingScheme:String + def branchRoutingAddress:String + def accountRoutingScheme:String + def accountRoutingAddress:String +} + +trait Meeting { + def meetingId: String + def providerId: String + def purposeId: String + def bankId: String + def present: MeetingPresent + def keys: MeetingKeys + def when: Date + def creator: ContactDetails + def invitees: List[Invitee] +} + +trait ProductAttribute { + def bankId: BankId + + def productCode: ProductCode + + def productAttributeId: String + + def name: String + + def attributeType: ProductAttributeType.Value + + def value: String +} + + +trait ProductCollection { + def collectionCode: String + def productCode: String +} + + +trait ProductCollectionItem { + def collectionCode: String + def memberProductCode: String +} + +trait TaxResidence { + def customerId: Long + def taxResidenceId: String + def domain: String + def taxNumber: String +} + +trait UserAuthContext { + def userAuthContextId : String + def userId : String + def key : String + def value : String +} + + +trait AddressT { + def line1 : String + def line2 : String + def line3 : String + def city : String + def county : Option[String] + def state : String + def postCode : String + //ISO_3166-1_alpha-2 + def countryCode : String +} + +trait LocationT { + def latitude: Double + def longitude: Double +} + +trait MetaT { + def license : LicenseT +} + + +trait LicenseT { + def id : String + def name : String +} + +@deprecated("Use Lobby instead which contains detailed fields, not this string","24 July 2017") +trait LobbyStringT { + def hours : String +} + + +@deprecated("Use DriveUp instead which contains detailed fields now, not this string","24 July 2017") +trait DriveUpStringT { + def hours : String +} + + +trait RoutingT { + def scheme: String + def address: String +} + +//---------------------------------------- trait dependents of case class + + +case class BranchId(value : String) { + override def toString = value +} + +object BranchId { + def unapply(id : String) = Some(BranchId(id)) +} + +case class Address( + line1 : String, + line2 : String, + line3 : String, + city : String, + county : Option[String], + state : String, + postCode : String, + //ISO_3166-1_alpha-2 + countryCode : String) extends AddressT + + +case class MeetingPresent( + staffUserId: String, + customerUserId: String + ) + + +case class Location( + latitude: Double, + longitude: Double, + date : Option[Date], + user: Option[BasicResourceUser] + ) extends LocationT + +/* +Basic User data + */ +case class BasicResourceUser( + userId: String, // Should come from Resource User Id + provider: String, + username: String + ) + + +case class Meta ( + license : License + ) extends MetaT + + + +case class License ( + id : String, + name : String + ) extends LicenseT + +case class Lobby( + monday: List[OpeningTimes], + tuesday: List[OpeningTimes], + wednesday: List[OpeningTimes], + thursday: List[OpeningTimes], + friday: List[OpeningTimes], + saturday: List[OpeningTimes], + sunday: List[OpeningTimes] + ) + +case class OpeningTimes( + openingTime: String, + closingTime: String + ) + +case class DriveUp( + monday: OpeningTimes, + tuesday: OpeningTimes, + wednesday: OpeningTimes, + thursday: OpeningTimes, + friday: OpeningTimes, + saturday: OpeningTimes, + sunday: OpeningTimes + ) + +case class MeetingKeys ( + sessionId: String, + customerToken: String, + staffToken: String + ) + +case class ContactDetails( + name: String, + phone: String, + email: String + ) + +case class Invitee( + contactDetails: ContactDetails, + status: String + ) +// Good to have this as a class because when passing as argument, we get compiler error if passing the wrong type. + +case class ProductCode(value : String) + +object ProductCode { + def unapply(code : String) = Some(ProductCode(code)) +} + +case class AtmId(value : String){ + override def toString() = value +} + +object AtmId { + def unapply(id : String) = Some(AtmId(id)) +} \ No newline at end of file