mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 20:27:15 +00:00
Fixing Get Customer for Logged in User WIP
This commit is contained in:
parent
6a94885739
commit
108a6fffc7
@ -162,7 +162,7 @@ import code.api.util.APIUtil._
|
||||
|
||||
val CustomerNumberAlreadyExists = "OBP-30006: Customer Number already exists. Please specify a different value for BANK_ID or CUSTOMER_NUMBER."
|
||||
val CustomerAlreadyExistsForUser = "OBP-30007: The User is already linked to a Customer at the bank specified by BANK_ID"
|
||||
val CustomerDoNotExistsForUser = "OBP-30008: User is not linked to a Customer at the bank specified by BANK_ID"
|
||||
val UserCustomerLinksNotFoundByUserId = "OBP-30008: User Customer Link not found by USER_ID"
|
||||
val AtmNotFoundByAtmId = "OBP-30009: ATM not found. Please specify a valid value for ATM_ID."
|
||||
val BranchNotFoundByBranchId = "OBP-300010: Branch not found. Please specify a valid value for BRANCH_ID."
|
||||
val ProductNotFoundByProductCode = "OBP-30011: Product not found. Please specify a valid value for PRODUCT_CODE."
|
||||
@ -193,6 +193,9 @@ import code.api.util.APIUtil._
|
||||
|
||||
val ViewIdNotSupported = "OBP-30032: This ViewId is do not supported. Only support four now: Owner, Public, Accountant, Auditor."
|
||||
|
||||
|
||||
val UserCustomerLinkNotFound = "OBP-30032: User Customer Link not found"
|
||||
|
||||
|
||||
|
||||
// Meetings
|
||||
|
||||
@ -88,9 +88,9 @@ trait APIMethods140 extends MdcLoggable with APIMethods130 with APIMethods121{
|
||||
for {
|
||||
u <- user ?~! ErrorMessages.UserNotLoggedIn
|
||||
bank <- Bank(bankId) ?~! {ErrorMessages.BankNotFound}
|
||||
ucls <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId)} ?~! ErrorMessages.CustomerDoNotExistsForUser
|
||||
ucls <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId)} ?~! ErrorMessages.UserCustomerLinksNotFoundByUserId
|
||||
ucl <- tryo{ucls.find(x=>Customer.customerProvider.vend.getBankIdByCustomerId(x.customerId) == bankId.value)}
|
||||
isEmpty <- booleanToBox(ucl.size > 0, ErrorMessages.CustomerDoNotExistsForUser)
|
||||
isEmpty <- booleanToBox(ucl.size > 0, ErrorMessages.UserCustomerLinksNotFoundByUserId)
|
||||
u <- ucl
|
||||
info <- Customer.customerProvider.vend.getCustomerByCustomerId(u.customerId) ?~! ErrorMessages.CustomerNotFoundByCustomerId
|
||||
} yield {
|
||||
@ -158,7 +158,7 @@ trait APIMethods140 extends MdcLoggable with APIMethods130 with APIMethods121{
|
||||
postedData <- tryo{json.extract[AddCustomerMessageJson]} ?~! "Incorrect json format"
|
||||
bank <- Bank(bankId) ?~! {ErrorMessages.BankNotFound}
|
||||
customer <- Customer.customerProvider.vend.getCustomerByCustomerId(customerId) ?~ ErrorMessages.CustomerNotFoundByCustomerId
|
||||
userCustomerLink <- UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByCustomerId(customer.customerId) ?~! ErrorMessages.CustomerDoNotExistsForUser
|
||||
userCustomerLink <- UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByCustomerId(customer.customerId) ?~! ErrorMessages.UserCustomerLinksNotFoundByUserId
|
||||
user <- User.findByUserId(userCustomerLink.userId) ?~! ErrorMessages.UserNotFoundById
|
||||
messageCreated <- booleanToBox(
|
||||
CustomerMessages.customerMessageProvider.vend.addMessage(
|
||||
|
||||
@ -2235,7 +2235,7 @@ trait APIMethods200 {
|
||||
|Authentication via OAuth is required.""",
|
||||
emptyObjectJson,
|
||||
customersJsonV140,
|
||||
List(UserNotLoggedIn, CustomerDoNotExistsForUser, UnknownError),
|
||||
List(UserNotLoggedIn, UserCustomerLinksNotFoundByUserId, UnknownError),
|
||||
Catalogs(notCore, notPSD2, notOBWG),
|
||||
List(apiTagPerson, apiTagCustomer))
|
||||
|
||||
@ -2245,7 +2245,7 @@ trait APIMethods200 {
|
||||
for {
|
||||
u <- user ?~! ErrorMessages.UserNotLoggedIn
|
||||
//bank <- Bank(bankId) ?~! BankNotFound
|
||||
customerIds: List[String] <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId).map(x=>x.customerId)} ?~! CustomerDoNotExistsForUser
|
||||
customerIds: List[String] <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId).map(x=>x.customerId)} ?~! UserCustomerLinksNotFoundByUserId
|
||||
} yield {
|
||||
val json = JSONFactory1_4_0.createCustomersJson(APIUtil.getCustomers(customerIds))
|
||||
successJsonResponse(Extraction.decompose(json))
|
||||
|
||||
@ -1430,7 +1430,7 @@ trait APIMethods210 {
|
||||
metricsJson,
|
||||
List(
|
||||
UserNotLoggedIn,
|
||||
CustomerDoNotExistsForUser,
|
||||
UserCustomerLinksNotFoundByUserId,
|
||||
UnknownError
|
||||
),
|
||||
Catalogs(notCore, notPSD2, notOBWG),
|
||||
@ -1442,7 +1442,7 @@ trait APIMethods210 {
|
||||
for {
|
||||
u <- user ?~! UserNotLoggedIn
|
||||
//bank <- Bank(bankId) ?~! {BankNotFound}
|
||||
customerIds: List[String] <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId).map(x=>x.customerId)} ?~! CustomerDoNotExistsForUser
|
||||
customerIds: List[String] <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId).map(x=>x.customerId)} ?~! UserCustomerLinksNotFoundByUserId
|
||||
} yield {
|
||||
val json = JSONFactory210.createCustomersJson(APIUtil.getCustomers(customerIds))
|
||||
successJsonResponse(Extraction.decompose(json))
|
||||
@ -1464,11 +1464,11 @@ trait APIMethods210 {
|
||||
emptyObjectJson,
|
||||
customerJsonV210,
|
||||
List(
|
||||
UserNotLoggedIn,
|
||||
BankNotFound,
|
||||
CustomerDoNotExistsForUser,
|
||||
CustomerDoNotExistsForUser,
|
||||
CustomerNotFoundByCustomerId,
|
||||
UserNotLoggedIn,
|
||||
BankNotFound,
|
||||
UserCustomerLinksNotFoundByUserId,
|
||||
UserCustomerLinksNotFoundByUserId,
|
||||
CustomerNotFoundByCustomerId,
|
||||
UnknownError
|
||||
),
|
||||
Catalogs(notCore, notPSD2, notOBWG),
|
||||
@ -1480,9 +1480,11 @@ trait APIMethods210 {
|
||||
for {
|
||||
u <- user ?~! UserNotLoggedIn
|
||||
bank <- Bank(bankId) ?~! {BankNotFound}
|
||||
ucls <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId)} ?~! CustomerDoNotExistsForUser
|
||||
// Find User Customer Links by the UserId
|
||||
ucls <- tryo{UserCustomerLink.userCustomerLink.vend.getUserCustomerLinkByUserId(u.userId)} ?~! UserCustomerLinksNotFoundByUserId
|
||||
// Find
|
||||
ucl <- tryo{ucls.find(x=>Customer.customerProvider.vend.getBankIdByCustomerId(x.customerId) == bankId.value)}
|
||||
isEmpty <- booleanToBox(ucl.size > 0, CustomerDoNotExistsForUser)
|
||||
isEmpty <- booleanToBox(ucl.size > 0, UserCustomerLinkNotFound)
|
||||
u <- ucl
|
||||
info <- Customer.customerProvider.vend.getCustomerByCustomerId(u.customerId) ?~! CustomerNotFoundByCustomerId
|
||||
} yield {
|
||||
|
||||
@ -126,12 +126,13 @@ class MappedCustomer extends Customer with LongKeyedMapper[MappedCustomer] with
|
||||
|
||||
def getSingleton = MappedCustomer
|
||||
|
||||
// Unique
|
||||
object mCustomerId extends MappedUUID(this)
|
||||
|
||||
//object mUser extends MappedLongForeignKey(this, ResourceUser)
|
||||
// Combination of bank id and customer number is unique
|
||||
object mBank extends UUIDString(this)
|
||||
|
||||
object mNumber extends MappedString(this, 50)
|
||||
|
||||
object mMobileNumber extends MappedString(this, 50)
|
||||
object mLegalName extends MappedString(this, 255)
|
||||
object mEmail extends MappedEmail(this, 200)
|
||||
|
||||
@ -28,8 +28,9 @@ object MappedUserCustomerLinkProvider extends UserCustomerLinkProvider {
|
||||
}
|
||||
|
||||
override def getUserCustomerLinkByUserId(userId: String): List[UserCustomerLink] = {
|
||||
MappedUserCustomerLink.findAll(
|
||||
val userCustomerLinks : List[UserCustomerLink] = MappedUserCustomerLink.findAll(
|
||||
By(MappedUserCustomerLink.mUserId, userId)).sortWith(_.id < _.id)
|
||||
userCustomerLinks
|
||||
}
|
||||
|
||||
override def getUserCustomerLink(userId : String, customerId: String): Box[UserCustomerLink] = {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user