diff --git a/src/main/java/biz/nynja/account/models/ContactInfo.java b/src/main/java/biz/nynja/account/models/ContactInfo.java index 6acc182a2d768f5a9373d2b0f33c18d18de41f88..a6c96b49eaf8f0ed421a2790a082419bdfb7ba86 100644 --- a/src/main/java/biz/nynja/account/models/ContactInfo.java +++ b/src/main/java/biz/nynja/account/models/ContactInfo.java @@ -3,6 +3,8 @@ */ package biz.nynja.account.models; +import java.io.Serializable; + import org.springframework.data.cassandra.core.mapping.UserDefinedType; import biz.nynja.account.grpc.ContactDetails; @@ -11,11 +13,12 @@ import biz.nynja.account.grpc.ContactType; import biz.nynja.account.phone.PhoneNumberUtils; @UserDefinedType -public class ContactInfo { +public class ContactInfo implements Serializable { private String type; private String value; private String label; + private String countrySelector; public String getType() { return type; @@ -41,6 +44,14 @@ public class ContactInfo { this.label = label; } + public String getCountrySelector() { + return countrySelector; + } + + public void setCountrySelector(String countrySelector) { + this.countrySelector = countrySelector; + } + @Override public int hashCode() { final int prime = 31; @@ -89,6 +100,7 @@ public class ContactInfo { contactInfo.setType(contactDetails.getType().toString()); contactInfo.setValue(contactDetails.getValue()); contactInfo.setLabel(contactDetails.getLabel()); + contactInfo.setCountrySelector(contactDetails.getCountrySelector()); return contactInfo; } diff --git a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java index a30e94f24183674a612d2282ae01aee797f923f5..c419fce1ccbb7c3f3e76f74738de918d34ccf552 100644 --- a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java +++ b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java @@ -200,18 +200,18 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio Transaction sagaTransaction = new SagaTransaction(cassandraTemplate); Account existingAccount = accountRepository.findByAccountId(UUID.fromString(request.getAccountId())); + if (existingAccount == null) { + logger.error("Existing account with the provided id {} was not found.", request.getAccountId()); + logger.debug("Existing account with the provided id {} was not found.", request.getAccountId()); + return null; + } + if (!permissionsValidator.isAdminToken()) { // No permission to update roles, load old ones Set roles = existingAccount.getRoles().stream().map(Role::valueOf).collect(Collectors.toSet()); request = UpdateAccountRequest.newBuilder(request).clearRoles().addAllRoles(roles).build(); } - - if (existingAccount == null) { - logger.error("Existing account with the provided id {} was not found.", request.getAccountId()); - logger.debug("Existing account with the provided id {} was not found.", request.getAccountId()); - return null; - } Long timeUpdated = Instant.now().toEpochMilli(); WriteResult wr = null; try {