You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dy...@apache.org on 2022/09/09 10:04:17 UTC

[incubator-datalab] 02/02: not allowing others to reshare images

This is an automated email from the ASF dual-hosted git repository.

dyankiv pushed a commit to branch DATALAB-2990
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit 0b9e2a4c1675db6806fc99ef1eef644109d982d1
Author: Denys Yankiv <de...@gmail.com>
AuthorDate: Fri Sep 9 13:03:29 2022 +0300

    not allowing others to reshare images
---
 .../service/impl/ImageExploratoryServiceImpl.java          | 14 ++------------
 .../src/main/resources/mongo/general/mongo_roles.json      | 13 -------------
 2 files changed, 2 insertions(+), 25 deletions(-)

diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
index cc0611af4..c9201d8c1 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
@@ -59,7 +59,6 @@ import org.apache.commons.collections4.CollectionUtils;
 import java.util.*;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 import static com.epam.datalab.backendapi.domain.AuditActionEnum.CREATE;
 import static com.epam.datalab.backendapi.domain.AuditActionEnum.TERMINATE;
@@ -73,7 +72,6 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService {
 
     private static final String SHARE_OWN_IMAGES_PAGE = "/api/image/share";
     private static final String TERMINATE_OWN_IMAGES_PAGE = "/api/image/terminate";
-    private static final String SHARE_RECEIVED_IMAGES_PAGE = "/api/image/shareReceived";
 
     @Inject
     private ExploratoryDAO exploratoryDAO;
@@ -335,19 +333,11 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService {
 
     @Override
     public ImageUserPermissions getUserImagePermissions(UserInfo userInfo, ImageInfoRecord image) {
-        boolean canShare = false;
+        boolean canShare = image.getStatus().equals(ImageStatus.ACTIVE) && image.getUser().equals(userInfo.getName())
+                && UserRoles.checkAccess(userInfo, RoleType.PAGE, SHARE_OWN_IMAGES_PAGE, userInfo.getRoles());
         boolean canTerminate = (image.getStatus().equals(ImageStatus.ACTIVE) || image.getStatus().equals(ImageStatus.FAILED)) &&
                 (image.getUser().equals(userInfo.getName())
                         && UserRoles.checkAccess(userInfo, RoleType.PAGE, TERMINATE_OWN_IMAGES_PAGE, userInfo.getRoles()));
-
-        if(image.getStatus().equals(ImageStatus.ACTIVE) ){
-            if(image.getUser().equals(userInfo.getName())){
-                canShare = UserRoles.checkAccess(userInfo, RoleType.PAGE, SHARE_OWN_IMAGES_PAGE,userInfo.getRoles());
-            } else {
-                canShare = UserRoles.checkAccess(userInfo, RoleType.PAGE, SHARE_RECEIVED_IMAGES_PAGE,userInfo.getRoles());
-            }
-        }
-
         return new ImageUserPermissions(canShare,canTerminate);
     }
 
diff --git a/services/self-service/src/main/resources/mongo/general/mongo_roles.json b/services/self-service/src/main/resources/mongo/general/mongo_roles.json
index fd5ca0b08..f6bb344c9 100644
--- a/services/self-service/src/main/resources/mongo/general/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/general/mongo_roles.json
@@ -11,19 +11,6 @@
       "$anyuser"
     ]
   },
-  {
-    "_id": "imgShareAllImages",
-    "description": "Allow to share own images and others' images",
-    "type": "IMAGE",
-    "cloud": "GENERAL",
-    "pages": [
-      "/api/image/share",
-      "/api/image/shareReceived"
-    ],
-    "groups": [
-      "$anyuser"
-    ]
-  },
   {
     "_id": "imgTerminateOwnImages",
     "description": "Allow to terminate own images",


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org