This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push: new 6d181e8 [DLAB-1722] Fixed issue with disappearing permissions after endpoint disconnection 6d181e8 is described below commit 6d181e8caa8fc39bef5ff09a5a0480bda937c244 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Wed Jun 3 16:32:52 2020 +0300 [DLAB-1722] Fixed issue with disappearing permissions after endpoint disconnection --- .../epam/dlab/backendapi/dao/UserRoleDaoImpl.java | 20 +++++++++++--------- .../dlab/backendapi/resources/dto/UserRoleDto.java | 6 ++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserRoleDaoImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserRoleDaoImpl.java index 5bc845a..e95a41b 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserRoleDaoImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserRoleDaoImpl.java @@ -55,6 +55,9 @@ import static java.util.stream.Collectors.toList; @Singleton public class UserRoleDaoImpl extends BaseDAO implements UserRoleDao { private static final ObjectMapper MAPPER = new ObjectMapper(); + private static final String[] DEFAULT_AWS_SHAPES = {"nbShapes_t2.medium_fetching", "compShapes_c4.xlarge_fetching"}; + private static final String[] DEFAULT_GCP_SHAPES = {"compShapes_n1-standard-2_fetching", "nbShapes_n1-standard-2_fetching"}; + private static final String[] DEFAULT_AZURE_SHAPES = {"nbShapes_Standard_E4s_v3_fetching", "compShapes_Standard_E4s_v3_fetching"}; private static final String ROLES_FILE_FORMAT = "/mongo/%s/mongo_roles.json"; private static final String USERS_FIELD = "users"; private static final String GROUPS_FIELD = "groups"; @@ -128,13 +131,15 @@ public class UserRoleDaoImpl extends BaseDAO implements UserRoleDao { if (remainingProviders.contains(cloudProviderToBeRemoved)) { return; } - List<UserRoleDto> remainingRoles = new ArrayList<>(); remainingProviders.forEach(p -> remainingRoles.addAll(getUserRoleFromFile(p))); - getUserRoleFromFile(cloudProviderToBeRemoved).stream() + getUserRoleFromFile(cloudProviderToBeRemoved) + .stream() + .filter(role -> UserRoleDto.cloudSpecificTypes().contains(role.getType())) .map(UserRoleDto::getId) - .filter(u -> remainingRoles.stream() + .filter(u -> remainingRoles + .stream() .map(UserRoleDto::getId) .noneMatch(id -> id.equals(u))) .forEach(this::remove); @@ -178,14 +183,11 @@ public class UserRoleDaoImpl extends BaseDAO implements UserRoleDao { private Set<String> getDefaultShapes(CloudProvider cloudProvider) { if (cloudProvider == CloudProvider.AWS) { - return Stream.of("nbShapes_t2.medium_fetching", "compShapes_c4.xlarge_fetching") - .collect(Collectors.toSet()); + return Stream.of(DEFAULT_AWS_SHAPES).collect(Collectors.toSet()); } else if (cloudProvider == CloudProvider.GCP) { - return Stream.of("compShapes_n1-standard-2_fetching", "nbShapes_n1-standard-2_fetching") - .collect(Collectors.toSet()); + return Stream.of(DEFAULT_GCP_SHAPES).collect(Collectors.toSet()); } else if (cloudProvider == CloudProvider.AZURE) { - return Stream.of("nbShapes_Standard_E4s_v3_fetching", "compShapes_Standard_E4s_v3_fetching") - .collect(Collectors.toSet()); + return Stream.of(DEFAULT_AZURE_SHAPES).collect(Collectors.toSet()); } else { throw new DlabException("Unsupported cloud provider " + cloudProvider); } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java index 9035467..989ecf4 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java @@ -25,6 +25,8 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; +import java.util.Arrays; +import java.util.List; import java.util.Set; @Getter @@ -55,4 +57,8 @@ public class UserRoleDto { BUCKET_BROWSER, ADMINISTRATION } + + public static List<Type> cloudSpecificTypes() { + return Arrays.asList(Type.NOTEBOOK, Type.COMPUTATIONAL, Type.NOTEBOOK_SHAPE, Type.COMPUTATIONAL_SHAPE); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org