tests/fixed the failed tests privateViewsUserCanAccess changed

This commit is contained in:
hongwei 2023-03-07 16:18:03 +01:00
parent fcfeb842c7
commit ec50550617
3 changed files with 8 additions and 12 deletions

View File

@ -56,7 +56,7 @@ trait APIMethods121 {
.map(JSONFactory.createViewJSON(_))
.distinct) ++
(privateViewsUserCanAccess
.filter(v =>v.accountId.value==null && v.bankId.value == null && v.isSystem && v.isPrivate)//plus the system views.
.filter(v =>v.isSystem && v.isPrivate)//plus the system views.
.map(JSONFactory.createViewJSON(_))
.distinct)
JSONFactory.createAccountJSON(account,viewsAvailable)

View File

@ -555,20 +555,12 @@ object MapperViews extends Views with MdcLoggable {
}
def privateViewsUserCanAccess(user: User): (List[View], List[AccountAccess]) ={
val accountAccess = AccountAccess.findAll(
By(AccountAccess.user_fk, user.userPrimaryKey.value),
PreCache(AccountAccess.view_fk)
).filter(accountAccess => {
val accountAccess = AccountAccess.findAllByUserPrimaryKey(user.userPrimaryKey)
.filter(accountAccess => {
val view = getViewFromAccountAccess(accountAccess)
view.isDefined && view.map(_.isPrivate)==Full(true)
})
// val accountAccess1 = AccountAccess.findAll(
// By(AccountAccess.user_fk, user.userPrimaryKey.value),
// PreCache(AccountAccess.view_fk)
// ).filter(r => r.view_fk.obj.isDefined && r.view_fk.obj.map(_.isPrivate).getOrElse(false) == true)
val privateViews = accountAccess.map(getViewFromAccountAccess).flatten.distinct
val privateViews = accountAccess.map(getViewFromAccountAccess).flatten.distinct
(privateViews, accountAccess)
}
def privateViewsUserCanAccess(user: User, viewIds: List[ViewId]): (List[View], List[AccountAccess]) ={

View File

@ -31,6 +31,10 @@ object AccountAccess extends AccountAccess with LongKeyedMetaMapper[AccountAcces
def findAllBySystemViewId( systemViewId:ViewId)= AccountAccess.findAll(
By(AccountAccess.view_id, systemViewId.value)
)
def findAllByUserPrimaryKey( userPrimaryKey:UserPrimaryKey)= AccountAccess.findAll(
By(AccountAccess.user_fk, userPrimaryKey.value),
PreCache(AccountAccess.view_fk)
)
def findAllByBankIdAccountIdViewId(bankId:BankId, accountId:AccountId, viewId:ViewId)= AccountAccess.findAll(
By(AccountAccess.bank_id, bankId.value),
By(AccountAccess.account_id, accountId.value),