diff --git a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java index bdac881694f04c690c86c040cbc3d85b687efcdd..2a9c034eb3043f5c9e42cd9f0e758519496544ba 100644 --- a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java +++ b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java @@ -13,8 +13,8 @@ import java.util.List; import java.util.Optional; import java.util.Set; import java.util.UUID; +import java.util.stream.Collectors; -import org.apache.commons.lang3.tuple.ImmutablePair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.cassandra.core.CassandraBatchOperations; @@ -34,12 +34,22 @@ import biz.nynja.account.configuration.AccountDataConfiguration; import biz.nynja.account.configuration.PendingAccountConfiguration; import biz.nynja.account.grpc.CompletePendingAccountCreationRequest; import biz.nynja.account.grpc.ContactType; +import biz.nynja.account.grpc.ErrorResponse.Cause; +import biz.nynja.account.grpc.Role; import biz.nynja.account.grpc.UpdateAccountRequest; -import biz.nynja.account.models.*; +import biz.nynja.account.models.Account; +import biz.nynja.account.models.AccountBuilder; +import biz.nynja.account.models.AccountByProfileId; +import biz.nynja.account.models.AccountByUsername; +import biz.nynja.account.models.AuthenticationProvider; +import biz.nynja.account.models.ContactInfo; +import biz.nynja.account.models.PendingAccount; +import biz.nynja.account.models.PendingAccountByAuthenticationProvider; +import biz.nynja.account.models.Profile; +import biz.nynja.account.models.ProfileByAuthenticationProvider; +import biz.nynja.account.permissions.PermissionsValidator; import biz.nynja.account.services.decomposition.IncorrectAccountCountException; import biz.nynja.account.services.erlang.ErlangAccountHttpBridge; -import biz.nynja.account.grpc.ErrorResponse.Cause; -import biz.nynja.account.permissions.PermissionsValidator; // TODO: 11/19/2018 refactor this class and adding rolback cassandra data if erlang return fail state @Service @@ -283,6 +293,11 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio updatedAccount.setUsername(request.getUsername()); updatedAccount.setLastUpdateTimestamp(lastUpdateTimestamp); updatedAccount.setAccessStatus(request.getAccessStatus().toString()); + if (request.getRolesList() == null || request.getRolesList().isEmpty()) { + updatedAccount.setRoles(Set.of(Role.USER.toString())); + } else { + updatedAccount.setRoles(request.getRolesList().stream().map(Enum::toString).collect(Collectors.toSet())); + } if (util.validateBirthdayIsSet(request.getBirthday())) { updatedAccount.setBirthday(LocalDate.of(request.getBirthday().getYear(), request.getBirthday().getMonth(), request.getBirthday().getDay()));