From 44ac14f32dd3dfe329ce712f9d983ca701252741 Mon Sep 17 00:00:00 2001 From: hongwei1 Date: Fri, 16 Feb 2018 08:00:49 +0100 Subject: [PATCH] #920 step2 refactor addPermissions method --- src/main/scala/code/views/MapperViews.scala | 8 +------- src/main/scala/code/views/Views.scala | 2 ++ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/scala/code/views/MapperViews.scala b/src/main/scala/code/views/MapperViews.scala index abb164886..ffce89240 100644 --- a/src/main/scala/code/views/MapperViews.scala +++ b/src/main/scala/code/views/MapperViews.scala @@ -126,14 +126,8 @@ object MapperViews extends Views with MdcLoggable { } else { viewImpls.foreach(v => { if(v.isPublic && !ALLOW_PUBLIC_VIEWS) return Failure(PublicViewsNotAllowedOnThisInstance) - if (ViewPrivileges.count(By(ViewPrivileges.user, user.resourceUserId.value), By(ViewPrivileges.view, v.id)) == 0) { - ViewPrivileges.create. - user(user.resourceUserId.value). - view(v.id). - save - } + getOrCreateViewPrivilege(user, v) }) - //TODO: this doesn't handle the case where one viewImpl fails to be saved Full(viewImpls) } } diff --git a/src/main/scala/code/views/Views.scala b/src/main/scala/code/views/Views.scala index bbcf87417..c0d348c85 100644 --- a/src/main/scala/code/views/Views.scala +++ b/src/main/scala/code/views/Views.scala @@ -26,6 +26,8 @@ trait Views { def permissions(account : BankIdAccountId) : List[Permission] def permission(account : BankIdAccountId, user: User) : Box[Permission] def getOrCreateViewPrivilege(view: View, user: User): Box[View] + // This is for ViewPrivileges. It will first find the view object by `viewIdBankIdAccountId` + // And than, @getOrCreateViewPrivilege(view: View, user: User) for the view and user. def addPermission(viewIdBankIdAccountId : ViewIdBankIdAccountId, user : User) : Box[View] def addPermissions(views : List[ViewIdBankIdAccountId], user : User) : Box[List[View]] def revokePermission(viewIdBankIdAccountId : ViewIdBankIdAccountId, user : User) : Box[Boolean]