This is an automated email from the ASF dual-hosted git repository. dyankiv pushed a commit to branch DATALAB-2809 in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
commit 41004af571371c2d6e6087f6f676082037fc6c9b Author: Denys Yankiv <[email protected]> AuthorDate: Tue Jun 28 18:26:57 2022 +0300 show shared images during exploratory creation --- .../backendapi/resources/ImageExploratoryResource.java | 2 +- .../datalab/backendapi/service/ImageExploratoryService.java | 2 +- .../service/impl/ImageExploratoryServiceImpl.java | 13 ++++++++----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java index 819ae04bc..10a300195 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java @@ -84,7 +84,7 @@ public class ImageExploratoryResource { @QueryParam("project") String project, @QueryParam("endpoint") String endpoint) { log.debug("Getting images for user {}, project {}", ui.getName(), project); - final List<ImageInfoRecord> images = imageExploratoryService.getNotFailedImages(ui.getName(), dockerImage, + final List<ImageInfoRecord> images = imageExploratoryService.getNotFailedImages(ui, dockerImage, project, endpoint); return Response.ok(images).build(); } diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java index 98c439b70..a1c4a22f7 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java @@ -33,7 +33,7 @@ public interface ImageExploratoryService { void finishImageCreate(Image image, String exploratoryName, String newNotebookIp); - List<ImageInfoRecord> getNotFailedImages(String user, String dockerImage, String project, String endpoint); + List<ImageInfoRecord> getNotFailedImages(UserInfo user, String dockerImage, String project, String endpoint); List<ImageInfoRecord> getNotFailedImages(String dockerImage, String project, String endpoint); 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 842e3b7ec..5047d2517 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 @@ -172,8 +172,10 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService { } @Override - public List<ImageInfoRecord> getNotFailedImages(String user, String dockerImage, String project, String endpoint) { - return imageExploratoryDao.getImages(user, dockerImage, project, endpoint, ImageStatus.CREATED, ImageStatus.CREATING); + public List<ImageInfoRecord> getNotFailedImages(UserInfo user, String dockerImage, String project, String endpoint) { + List<ImageInfoRecord> images = imageExploratoryDao.getImages(user.getName(), dockerImage, project, endpoint, ImageStatus.CREATED, ImageStatus.CREATING); + images.addAll(getSharedImages(user,dockerImage,project,endpoint)); + return images; } @Override @@ -268,8 +270,8 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService { .filter(img -> !img.getUser().equals(userInfo.getName())) .filter(img -> UserRoles.checkAccess(userInfo, RoleType.IMAGE, img.getFullName(), userInfo.getRoles())) - .peek(img -> img.setShared(true)) .collect(Collectors.toList()); + sharedImages.forEach(img -> img.setShared(true)); log.info("Shared with user {} images : {}", userInfo.getName(), sharedImages); return sharedImages; } @@ -280,8 +282,8 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService { .filter(img -> !img.getUser().equals(userInfo.getName())) .filter(img -> img.getDockerImage().equals(dockerImage) && img.getProject().equals(project) && img.getEndpoint().equals(endpoint)) .filter(img -> UserRoles.checkAccess(userInfo, RoleType.IMAGE, img.getFullName(), userInfo.getRoles())) - .peek(img -> img.setShared(true)) .collect(Collectors.toList()); + sharedImages.forEach(img -> img.setShared(true)); log.info("Found shared with user {} images {}", userInfo.getName(), sharedImages); return sharedImages; } @@ -292,8 +294,8 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService { .filter(img -> !img.getUser().equals(userInfo.getName())) .filter(img -> img.getProject().equals(project) ) .filter(img -> UserRoles.checkAccess(userInfo, RoleType.IMAGE, img.getFullName(), userInfo.getRoles())) - .peek(img -> img.setShared(true)) .collect(Collectors.toList()); + sharedImages.forEach(img -> img.setShared(true)); log.info("Found shared with user {} images {}", userInfo.getName(), sharedImages); return sharedImages; } @@ -301,6 +303,7 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService { private boolean isSharedImage(String imageFullName){ String anyUser = "$anyuser"; List<UserRoleDTO> imageRoles = userRoleDAO.findAll().stream() + .filter( r -> r.getType().equals(UserRoleDTO.Type.IMAGE)) .filter(r -> r.getImages().contains(imageFullName)) .filter( r -> (r.getGroups().contains(anyUser) && r.getGroups().size() >= 2) || (!r.getGroups().contains(anyUser) && !r.getGroups().isEmpty())) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
