diff --git a/charts/account-service/Chart.yaml b/charts/account-service/Chart.yaml index 5f041fe4151402092bee5f4ebab5819f4698b57e..0d67982822af27e0788532f4bf0f8ab41e8071c3 100644 --- a/charts/account-service/Chart.yaml +++ b/charts/account-service/Chart.yaml @@ -2,4 +2,4 @@ apiVersion: v1 appVersion: "1.0" description: Deployment of the nynja account service. name: account-service -version: 0.1.8 +version: 0.1.9 diff --git a/releases/staging/account-service.yaml b/releases/staging/account-service.yaml index 913f070897881fbb54c330ac25b9eca6acb02118..c4341b66ac6d85faeb6a26ac44f8216369ff5318 100644 --- a/releases/staging/account-service.yaml +++ b/releases/staging/account-service.yaml @@ -8,7 +8,7 @@ spec: chart: repository: https://nynjagroup.jfrog.io/nynjagroup/helm/ name: account-service - version: 0.1.8 + version: 0.1.9 values: replicaCount: 2 diff --git a/src/main/java/biz/nynja/account/services/AccountServiceImpl.java b/src/main/java/biz/nynja/account/services/AccountServiceImpl.java index 7d0da1a9ecb51414f0d34916d83927069f43f5d3..457c7841b693d981ebf92951980815dc5ca4e339 100644 --- a/src/main/java/biz/nynja/account/services/AccountServiceImpl.java +++ b/src/main/java/biz/nynja/account/services/AccountServiceImpl.java @@ -55,9 +55,6 @@ import biz.nynja.account.grpc.StatusResponse; import biz.nynja.account.grpc.UpdateAccountRequest; import biz.nynja.account.grpc.UpdateAuthenticationProviderRequest; import biz.nynja.account.grpc.UpdateSearchableOptionRequest; -import biz.nynja.account.kafka.Constants; -import biz.nynja.account.kafka.UserEventsMessageTemplate; -import biz.nynja.account.kafka.UserEventsProducer; import biz.nynja.account.models.Account; import biz.nynja.account.models.AccountByProfileId; import biz.nynja.account.models.AccountByQrCode; @@ -110,7 +107,6 @@ public class AccountServiceImpl extends AccountServiceGrpc.AccountServiceImplBas private final PermissionsValidator permissionsValidator; private final ProfileDataConfiguration profileDataConfiguration; private final AccessPointService accessPointService; - private final UserEventsProducer userEventsProducer; public AccountServiceImpl(AccountRepositoryAdditional accountRepositoryAdditional, ProfileRepository profileRepository, @@ -119,8 +115,7 @@ public class AccountServiceImpl extends AccountServiceGrpc.AccountServiceImplBas AccountByUsernameRepository accountByUsernameRepository, AccountProvider accountProvider, AccountByProfileIdRepository accountByProfileIdRepository, PhoneNumberNormalizer phoneNumberNormalizer, AccountCreator accountCreator, ProfileProvider profileProvider, PermissionsValidator permissionsValidator, - ProfileDataConfiguration profileDataConfiguration, AccessPointService accessPointService, - UserEventsProducer userEventsProducer) { + ProfileDataConfiguration profileDataConfiguration, AccessPointService accessPointService) { this.accountRepositoryAdditional = accountRepositoryAdditional; this.profileRepository = profileRepository; this.profileByAutheticationProviderRepository = profileByAutheticationProviderRepository; @@ -134,7 +129,6 @@ public class AccountServiceImpl extends AccountServiceGrpc.AccountServiceImplBas this.permissionsValidator = permissionsValidator; this.profileDataConfiguration = profileDataConfiguration; this.accessPointService = accessPointService; - this.userEventsProducer = userEventsProducer; } @Override @@ -505,15 +499,6 @@ public class AccountServiceImpl extends AccountServiceGrpc.AccountServiceImplBas logger.debug("Complete pending account creation...: {} ...", request); AccountResponse response = accountCreator.retrieveCompletePendingAccountResponse(request); - // send event for new user to Kafka - try { - userEventsProducer.sendKafkaMessage(new UserEventsMessageTemplate(response.getAccountDetails().getAccountId(), - Constants.EventType.SIGN_UP, "")); - }catch (Exception e) { - logger.error("Error sending event to Kafka for account id {}", response.getAccountDetails().getAccountId()); - logger.debug("Error sending event to Kafka for account id {}, {}", response.getAccountDetails().getAccountId(), - e.getMessage()); - } logger.info("SUCCESS: Completed pending account creation for account ID {}.", request.getAccountId()); responseObserver.onNext(response); diff --git a/src/main/java/biz/nynja/account/services/decomposition/AccountCreator.java b/src/main/java/biz/nynja/account/services/decomposition/AccountCreator.java index 59a3347677cb6e4866e57fad34ccde53a87f0ccf..1af73ba703e2c3bdc35e70c494c7a97d3eb63bf5 100644 --- a/src/main/java/biz/nynja/account/services/decomposition/AccountCreator.java +++ b/src/main/java/biz/nynja/account/services/decomposition/AccountCreator.java @@ -20,6 +20,9 @@ import biz.nynja.account.grpc.CreatePendingAccountRequest; import biz.nynja.account.grpc.CreatePendingAccountResponse; import biz.nynja.account.grpc.ErrorResponse; import biz.nynja.account.grpc.ErrorResponse.Cause; +import biz.nynja.account.kafka.Constants; +import biz.nynja.account.kafka.UserEventsMessageTemplate; +import biz.nynja.account.kafka.UserEventsProducer; import biz.nynja.account.grpc.Role; import biz.nynja.account.models.Account; import biz.nynja.account.models.AuthenticationProvider; @@ -38,12 +41,15 @@ public class AccountCreator { private final PendingAccountRepository pendingAccountRepository; private final AccountRepositoryAdditional accountRepositoryAdditional; private final PhoneNumberNormalizer phoneNumberNormalizer; + private final UserEventsProducer userEventsProducer; public AccountCreator(PendingAccountRepository pendingAccountRepository, - AccountRepositoryAdditional accountRepositoryAdditional, PhoneNumberNormalizer phoneNumberNormalizer) { + AccountRepositoryAdditional accountRepositoryAdditional, PhoneNumberNormalizer phoneNumberNormalizer, + UserEventsProducer userEventsProducer) { this.pendingAccountRepository = pendingAccountRepository; this.accountRepositoryAdditional = accountRepositoryAdditional; this.phoneNumberNormalizer = phoneNumberNormalizer; + this.userEventsProducer = userEventsProducer; } /** @@ -159,6 +165,8 @@ public class AccountCreator { logger.debug("Account \"{}\" saved into the DB", createdAccount); AccountDetails details = createdAccount.toProto(); logger.debug("Account: \"{}\" created successfully.", response); + logger.debug("Send event for new account to Kafka."); + sendEventToKafka(details.getAccountId()); return AccountResponse.newBuilder().setAccountDetails(details).build(); } } @@ -191,4 +199,14 @@ public class AccountCreator { logger.error(logMessage, logValue); return newBuilder.setError(ErrorResponse.newBuilder().setCause(cause).setMessage(errorMessage)).build(); } + + private void sendEventToKafka(String accountId) { + // send event for new user to Kafka + try { + userEventsProducer.sendKafkaMessage(new UserEventsMessageTemplate(accountId, Constants.EventType.SIGN_UP, "")); + }catch (Exception e) { + logger.error("Error sending event to Kafka for account id {}", accountId); + logger.debug("Error sending event to Kafka for account id {}, {}", accountId, e.getMessage()); + } + } }