From 0e69aca72c288edb3c64cd8a717dcda358f78f91 Mon Sep 17 00:00:00 2001 From: Dragomir Todorov Date: Mon, 17 Dec 2018 17:38:06 +0200 Subject: [PATCH] NY-6170: Roles fix --- .../AccountRepositoryAdditionalImpl.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java index bdac881..2a9c034 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())); -- GitLab