From 046d756412650a3e52d2c644410259461c4ee95c Mon Sep 17 00:00:00 2001 From: hongwei Date: Thu, 25 May 2023 21:16:59 +0800 Subject: [PATCH] refactor/added new method getNotPersonalUserAttributes and add isPersonal to getPersonalUserAttributes method --- .../src/main/scala/code/api/util/NewStyle.scala | 4 ++-- .../main/scala/code/api/v4_0_0/APIMethods400.scala | 4 ++-- .../main/scala/code/bankconnectors/Connector.scala | 2 +- .../code/bankconnectors/LocalMappedConnector.scala | 5 +++-- .../code/remotedata/RemotedataUserAttribute.scala | 7 +++++-- .../scala/code/users/MappedUserAttribute.scala | 14 ++++++++++++-- .../scala/code/users/UserAttributeProvider.scala | 6 ++++-- 7 files changed, 29 insertions(+), 13 deletions(-) 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 43161b096..c2043b386 100644 --- a/obp-api/src/main/scala/code/api/util/NewStyle.scala +++ b/obp-api/src/main/scala/code/api/util/NewStyle.scala @@ -1896,8 +1896,8 @@ object NewStyle extends MdcLoggable{ } } - def getMyPersonalUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[List[UserAttribute]] = { - Connector.connector.vend.getMyPersonalUserAttributes( + def getPersonalUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[List[UserAttribute]] = { + Connector.connector.vend.getPersonalUserAttributes( userId: String, callContext: Option[CallContext] ) map { i => (connectorEmptyResponse(i._1, callContext), i._2) diff --git a/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala b/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala index 6c709c01e..d4191505e 100644 --- a/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala +++ b/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala @@ -8765,7 +8765,7 @@ trait APIMethods400 { case "my" :: "user" :: "attributes" :: Nil JsonGet _ => { cc => for { - (attributes, callContext) <- NewStyle.function.getMyPersonalUserAttributes(cc.userId, cc.callContext) + (attributes, callContext) <- NewStyle.function.getPersonalUserAttributes(cc.userId, cc.callContext) } yield { (JSONFactory400.createUserAttributesJson(attributes), HttpCode.`200`(callContext)) } @@ -8887,7 +8887,7 @@ trait APIMethods400 { case "my" :: "user" :: "attributes" :: userAttributeId :: Nil JsonPut json -> _=> { cc => for { - (attributes, callContext) <- NewStyle.function.getMyPersonalUserAttributes(cc.userId, cc.callContext) + (attributes, callContext) <- NewStyle.function.getPersonalUserAttributes(cc.userId, cc.callContext) failMsg = s"$UserAttributeNotFound" _ <- NewStyle.function.tryons(failMsg, 400, callContext) { attributes.exists(_.userAttributeId == userAttributeId) diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala index 33b08924e..e480e4f4d 100644 --- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala @@ -2260,7 +2260,7 @@ trait Connector extends MdcLoggable { def getUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = Future{(Failure(setUnimplementedError), callContext)} - def getMyPersonalUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = + def getPersonalUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = Future{(Failure(setUnimplementedError), callContext)} def getUserAttributesByUsers(userIds: List[String], callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index de39947eb..d3fa8095f 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -219,6 +219,7 @@ object LocalMappedConnector extends Connector with MdcLoggable { val userAttributeName = s"TRANSACTION_REQUESTS_PAYMENT_LIMIT_${currency}_" + transactionRequestType.toUpperCase val userAttributes = UserAttribute.findAll( By(UserAttribute.UserId, userId), + By(UserAttribute.IsPersonal, false), OrderBy(UserAttribute.createdAt, Descending) ) val userAttributeValue = userAttributes.find(_.name == userAttributeName).map(_.value) @@ -4078,8 +4079,8 @@ object LocalMappedConnector extends Connector with MdcLoggable { UserAttributeProvider.userAttributeProvider.vend.getUserAttributesByUser(userId: String) map {(_, callContext)} } - override def getMyPersonalUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = { - UserAttributeProvider.userAttributeProvider.vend.getMyPersonalUserAttributes(userId: String) map {(_, callContext)} + override def getPersonalUserAttributes(userId: String, callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = { + UserAttributeProvider.userAttributeProvider.vend.getPersonalUserAttributes(userId: String) map {(_, callContext)} } override def getUserAttributesByUsers(userIds: List[String], callContext: Option[CallContext]): OBPReturnType[Box[List[UserAttribute]]] = { UserAttributeProvider.userAttributeProvider.vend.getUserAttributesByUsers(userIds) map {(_, callContext)} diff --git a/obp-api/src/main/scala/code/remotedata/RemotedataUserAttribute.scala b/obp-api/src/main/scala/code/remotedata/RemotedataUserAttribute.scala index 64a1c10a6..1b030f53a 100644 --- a/obp-api/src/main/scala/code/remotedata/RemotedataUserAttribute.scala +++ b/obp-api/src/main/scala/code/remotedata/RemotedataUserAttribute.scala @@ -19,8 +19,11 @@ object RemotedataUserAttribute extends ObpActorInit with UserAttributeProvider { override def getUserAttributesByUser(userId: String): Future[Box[List[UserAttribute]]] = (actor ? cc.getUserAttributesByUser(userId)).mapTo[Box[List[UserAttribute]]] - override def getMyPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] = - (actor ? cc.getMyPersonalUserAttributes(userId)).mapTo[Box[List[UserAttribute]]] + override def getPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] = + (actor ? cc.getPersonalUserAttributes(userId)).mapTo[Box[List[UserAttribute]]] + + override def getNotPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] = + (actor ? cc.getNotPersonalUserAttributes(userId)).mapTo[Box[List[UserAttribute]]] override def getUserAttributesByUsers(userIds: List[String]): Future[Box[List[UserAttribute]]] = (actor ? cc.getUserAttributesByUsers(userIds)).mapTo[Box[List[UserAttribute]]] diff --git a/obp-api/src/main/scala/code/users/MappedUserAttribute.scala b/obp-api/src/main/scala/code/users/MappedUserAttribute.scala index 997bf6cc7..1cf6a4969 100644 --- a/obp-api/src/main/scala/code/users/MappedUserAttribute.scala +++ b/obp-api/src/main/scala/code/users/MappedUserAttribute.scala @@ -20,11 +20,21 @@ object MappedUserAttributeProvider extends UserAttributeProvider { UserAttribute.findAll(By(UserAttribute.UserId, userId)) ) } - override def getMyPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] = Future { + override def getPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] = Future { tryo( UserAttribute.findAll( By(UserAttribute.UserId, userId), - By(UserAttribute.IsPersonal, true) + By(UserAttribute.IsPersonal, true), + OrderBy(UserAttribute.createdAt, Descending) + ) + ) + } + override def getNotPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] = Future { + tryo( + UserAttribute.findAll( + By(UserAttribute.UserId, userId), + By(UserAttribute.IsPersonal, false), + OrderBy(UserAttribute.createdAt, Descending) ) ) } diff --git a/obp-api/src/main/scala/code/users/UserAttributeProvider.scala b/obp-api/src/main/scala/code/users/UserAttributeProvider.scala index 75d2e42bb..7260645be 100644 --- a/obp-api/src/main/scala/code/users/UserAttributeProvider.scala +++ b/obp-api/src/main/scala/code/users/UserAttributeProvider.scala @@ -38,7 +38,8 @@ trait UserAttributeProvider { private val logger = Logger(classOf[UserAttributeProvider]) def getUserAttributesByUser(userId: String): Future[Box[List[UserAttribute]]] - def getMyPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] + def getPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] + def getNotPersonalUserAttributes(userId: String): Future[Box[List[UserAttribute]]] def getUserAttributesByUsers(userIds: List[String]): Future[Box[List[UserAttribute]]] def deleteUserAttribute(userAttributeId: String): Future[Box[Boolean]] def createOrUpdateUserAttribute(userId: String, @@ -52,7 +53,8 @@ trait UserAttributeProvider { class RemotedataUserAttributeCaseClasses { case class getUserAttributesByUser(userId: String) - case class getMyPersonalUserAttributes(userId: String) + case class getPersonalUserAttributes(userId: String) + case class getNotPersonalUserAttributes(userId: String) case class deleteUserAttribute(userAttributeId: String) case class getUserAttributesByUsers(userIds: List[String]) case class createOrUpdateUserAttribute(userId: String,