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 ac222f6 [DLAB-1689] Changes for group while adding endpoint ac222f6 is described below commit ac222f6109d5402b94d62152ffa8b0bc8f358ca9 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Fri Apr 3 16:19:16 2020 +0300 [DLAB-1689] Changes for group while adding endpoint --- .../epam/dlab/backendapi/dao/UserRoleDaoImpl.java | 32 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 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 fffc70b..d4bb824 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 @@ -21,6 +21,7 @@ package com.epam.dlab.backendapi.dao; import com.epam.dlab.backendapi.resources.dto.UserGroupDto; import com.epam.dlab.backendapi.resources.dto.UserRoleDto; import com.epam.dlab.cloud.CloudProvider; +import com.epam.dlab.exceptions.DlabException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.inject.Singleton; @@ -33,9 +34,12 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static com.epam.dlab.backendapi.dao.MongoCollections.USER_GROUPS; import static com.mongodb.client.model.Aggregates.group; @@ -92,11 +96,20 @@ public class UserRoleDaoImpl extends BaseDAO implements UserRoleDao { @Override public void updateMissingRoles(CloudProvider cloudProvider) { - getUserRoleFromFile(cloudProvider).stream() - .filter(u -> findAll().stream() + getUserRoleFromFile(cloudProvider) + .stream() + .peek(u -> u.setGroups(Collections.emptySet())) + .filter(u -> findAll() + .stream() .map(UserRoleDto::getId) .noneMatch(id -> id.equals(u.getId()))) .forEach(this::insert); + + addGroupToRole(aggregateRolesByGroup() + .stream() + .map(UserGroupDto::getGroup) + .collect(Collectors.toSet()), + getDefaultShapes(cloudProvider)); } @Override @@ -168,6 +181,21 @@ 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()); + } else if (cloudProvider == CloudProvider.GCP) { + return Stream.of("compShapes_n1-standard-2_fetching", "nbShapes_n1-standard-2_fetching") + .collect(Collectors.toSet()); + } else if (cloudProvider == CloudProvider.AZURE) { + return Stream.of("nbShapes_Standard_E4s_v3_fetching", "compShapes_Standard_E4s_v3_fetching") + .collect(Collectors.toSet()); + } else { + throw new DlabException("Unsupported cloud provider " + cloudProvider); + } + } + private Document roleDocument() { return new Document().append(ID, "$" + ID) .append(DESCRIPTION, "$" + DESCRIPTION) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org