From 17b6c581947770e721631441ffcbeb9c51f841d3 Mon Sep 17 00:00:00 2001 From: Jayendra Date: Thu, 5 Dec 2019 12:37:02 +0530 Subject: [PATCH 1/2] Added account search grpc endpoints for market admin --- .../repositories/admin/AccountRepository.java | 217 +++++ .../account/services/AdminAccountsImpl.java | 767 ++++++++++++++++++ .../services/admin/AccountService.java | 72 ++ src/main/proto/AdminAccounts.proto | 144 ++++ 4 files changed, 1200 insertions(+) create mode 100644 src/main/java/biz/nynja/account/repositories/admin/AccountRepository.java create mode 100644 src/main/java/biz/nynja/account/services/AdminAccountsImpl.java create mode 100644 src/main/java/biz/nynja/account/services/admin/AccountService.java create mode 100644 src/main/proto/AdminAccounts.proto diff --git a/src/main/java/biz/nynja/account/repositories/admin/AccountRepository.java b/src/main/java/biz/nynja/account/repositories/admin/AccountRepository.java new file mode 100644 index 0000000..4b7acf3 --- /dev/null +++ b/src/main/java/biz/nynja/account/repositories/admin/AccountRepository.java @@ -0,0 +1,217 @@ +package biz.nynja.account.repositories.admin; + + +import biz.nynja.account.models.Account; +import com.datastax.driver.core.PagingState; +import com.datastax.driver.core.Statement; +import com.datastax.driver.core.querybuilder.QueryBuilder; +import com.grpcServer.entity.Account; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.cassandra.core.CassandraTemplate; +import org.springframework.data.cassandra.core.query.CassandraPageRequest; +import org.springframework.data.cassandra.core.query.Criteria; +import org.springframework.data.cassandra.core.query.Query; +import org.springframework.data.domain.Slice; +import org.springframework.stereotype.Repository; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +/** + * This Account Repository contains the account search functions + * for market admin panel to filter accounts while + * broadcasting message + * + * @author Jayendra + * @since 2019-12-04 + * + */ + + +@Repository +public class AccountRepository { + + + + @Autowired + private CassandraTemplate cassandraTemplate; + + private static final Class ENTITY_CLASS = Account.class; + private static final Logger logger = LoggerFactory.getLogger(AccountRepository.class); + + + public List getAccountByAccountId(UUID accountId) { + + Statement statement = QueryBuilder.select().from("account") + .where(QueryBuilder.eq("accountid", accountId)); + + return cassandraTemplate.select(statement, ENTITY_CLASS); + } + + public List getAccountByAuthenticationProvider(String authenticationprovider) { + + Statement statement = QueryBuilder.select().from("accountbyauthenticationprovider") + .where(QueryBuilder.eq("authenticationprovider", authenticationprovider)); + + return cassandraTemplate.select(statement, ENTITY_CLASS); + + } + + public List getAccountByUsername(String username) { + + Statement statement = QueryBuilder.select().from("accountbyusername") + .where(QueryBuilder.eq("username", username)); + + return cassandraTemplate.select(statement, ENTITY_CLASS); + + } + + public List getAccountByFirstname(String firstname) { + + Statement statement = QueryBuilder.select().from("accountbyfirstname") + .where(QueryBuilder.eq("firstname", firstname)); + + return cassandraTemplate.select(statement, ENTITY_CLASS); + + } + + public List getAccountByLastname(String lastname) { + + Statement statement = QueryBuilder.select().from("accountbylastname") + .where(QueryBuilder.eq("lastname", lastname)); + + return cassandraTemplate.select(statement, ENTITY_CLASS); + + } + + + public List getAllAccounts() { + String getAllAccounts = "SELECT * FROM " + cassandraTemplate.getTableName(ENTITY_CLASS).toString() + ""; + return (List) cassandraTemplate.select(getAllAccounts, ENTITY_CLASS); + } + + public List getAccountByIds(UUID[] acccountIds) { + + Query query = Query.query(Criteria.where("accountid").in(acccountIds)); + return (List) cassandraTemplate.select(query, ENTITY_CLASS); + } + + + public long getAllAccountsSize() { + + return cassandraTemplate.count(ENTITY_CLASS); + + } + + public List getAccountsByCreationTimeStamp(long fromCreationTime, long toCreationTime){ + + Statement statement = QueryBuilder.select().from("accountbycreationtimestamp") + .where(QueryBuilder.gte("creationtimestamp", fromCreationTime)) + .and(QueryBuilder.lte("creationtimestamp", toCreationTime)).allowFiltering(); + + return cassandraTemplate.select(statement, ENTITY_CLASS); + } + + + public Map getAccountsByCreationTimeStampPagination(long fromCreationTime, long toCreationTime, int fetchSize, String pageState) { + + Statement statement = QueryBuilder.select().from("accountbycreationtimestamp") + .where(QueryBuilder.gte("creationtimestamp", fromCreationTime)) + .and(QueryBuilder.lte("creationtimestamp", toCreationTime)).allowFiltering(); + + if (pageState != null) { + statement.setPagingState(PagingState.fromString(pageState)); + } + + Slice accounts = cassandraTemplate.slice(statement, ENTITY_CLASS); + List accountsList = accounts.getContent(); + + + if (accountsList != null) { + logger.info("Content Size : {}", accountsList.size()); + } + + logger.info("Accounts has next : {}", accounts.hasNext()); + + Map accountsPagedData = new HashMap<>(2); + + String nextPageState = null; + + if (accountsList == null || accountsList.size() == 0) { + logger.info("No more content in accounts pagination"); + System.out.println(""); + System.out.println("No more data in accounts pagination"); + return null; + + } else if (accountsList.size() < fetchSize) { + logger.info("No more content in next page"); + System.out.println(""); + System.out.println("No more data in next page"); + + nextPageState = "end"; + + } else { + + CassandraPageRequest next = (CassandraPageRequest) accounts.nextPageable(); + nextPageState = next.getPagingState().toString(); + } + + accountsPagedData.put("pageState", nextPageState); + accountsPagedData.put("accounts", accountsList); + + return accountsPagedData; + + } + + + public Map getAccountsByPagination(int fetchSize, String pageState) { + + com.datastax.driver.core.Statement select = QueryBuilder.select().from(cassandraTemplate.getTableName(ENTITY_CLASS).toString()).setFetchSize(fetchSize); + + if (pageState != null) { + select.setPagingState(PagingState.fromString(pageState)); + } + + Slice accounts = cassandraTemplate.slice(select, ENTITY_CLASS); + List accountsList = accounts.getContent(); + + if (accountsList != null) { + logger.info("Content Size : {}", accountsList.size()); + } + logger.info("Accounts has next : {}", accounts.hasNext()); + + + Map accountsPagedData = new HashMap<>(2); + + String nextPageState = null; + + if (accountsList == null || accountsList.size() == 0) { + logger.info("No more content in accounts pagination"); + System.out.println(""); + System.out.println("No more data in accounts pagination"); + return null; + + } else if (accountsList.size() < fetchSize) { + logger.info("No more content in next page"); + System.out.println(""); + System.out.println("No more data in next page"); + + nextPageState = "end"; + + } else { + + CassandraPageRequest next = (CassandraPageRequest) accounts.nextPageable(); + nextPageState = next.getPagingState().toString(); + } + + accountsPagedData.put("pageState", nextPageState); + accountsPagedData.put("accounts", accountsList); + + return accountsPagedData; + } + + +} diff --git a/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java b/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java new file mode 100644 index 0000000..5eaa8ba --- /dev/null +++ b/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java @@ -0,0 +1,767 @@ +package biz.nynja.account.services; + + +import biz.nynja.account.models.Account; +import biz.nynja.account.services.admin.AccountService; +import biz.nynja.admin.account.grpc.AccountDetails; +import biz.nynja.admin.account.grpc.AccountsList; +import biz.nynja.admin.account.grpc.AccountsResponse; +import biz.nynja.admin.account.grpc.AdminAccountsServiceGrpc.AdminAccountsServiceImplBase; +import biz.nynja.admin.account.grpc.ErrorResponse; +import com.google.protobuf.ProtocolStringList; +import org.lognet.springboot.grpc.GRpcService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +/** + * AdminAccountsImpl contains endpoints for market admin + * panel to filter accounts while broadcasting message + * + * @author Jayendra + * @since 2019-12-04 + * + */ + +@GRpcService +public class AdminAccountsImpl extends AdminAccountsServiceImplBase { + + @Autowired + private AccountService accountService; + + private static final Logger logger = LoggerFactory.getLogger(AdminAccountsImpl.class); + + @Override + public void searchByAccountId(biz.nynja.admin.account.grpc.SearchByAccountIdRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info("Search Account By Account Id Endpoint."); + logger.info(""); + + String accountId = request.getAccountId(); + logger.info("Account-Id : " + accountId); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + + accountsList = accountService.getAccountByAccountId(UUID.fromString(accountId)); + logger.info("Accounts-list : {}", accountsList); + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + System.out.println(""); + System.out.println("Account : "); + System.out.println(account); + System.out.println(""); + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + } + + @Override + public void getAccountsByCreationTime(biz.nynja.admin.account.grpc.GetAccountsByCreationTime request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info(""); + logger.info("Get accounts by creation time endpoint."); + + int limit = request.getLimit(); + String pageState = request.getPageState(); + int pagination = request.getPagination(); // Do pagination 'Yes' or 'No' + long fromCreationTime = request.getFromCreationTime(); + long toCreationTime = request.getToCreationTime(); + + logger.info("Limit : {}", limit); + logger.info("PageState : {}", pageState); + logger.info("Pagination : {}", pagination); + logger.info("FromCreationTime : {}", fromCreationTime); + logger.info("ToCreationTime : {}", toCreationTime); + logger.info(""); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + // Fetching records on basis of pagination. + if (pagination == 1) { + logger.info("Fetching records on basis of pagination."); + + + Map accountsMap = (pageState.equals("nil")) ? accountService.getAccountsByPagination(limit, null) : accountService.getAccountsByPagination(limit, pageState); + accountsList = (List) accountsMap.get("accounts"); + nextPageState = accountsMap.get("pageState").toString(); + + logger.info("Next page state : " + nextPageState); + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + + for (Account account : accountsList) { + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + if (nextPageState != null) { + accountsListBuilder.setNextPageState(nextPageState); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + + } + + } else { + logger.info("Not fetching records on basis of pagination."); + + accountsList = accountService.getAccountsByCreationTimeStamp(fromCreationTime, toCreationTime); + logger.info("Accounts-list : {}", accountsList); + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + + } + + } + + @Override + public void getAccounts(biz.nynja.admin.account.grpc.GetAllAccountsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info(""); + logger.info("Get all accounts endpoint."); + + ProtocolStringList accountIdsList = request.getAccountIdsList(); + + // List accountIdsList = null; + int allAccounts = request.getAllAccounts(); + int pagination = request.getPagination(); + String pageState = request.getPageState(); + int limit = request.getLimit(); + + logger.info("Request Parameters"); + logger.info("accountIdsList : " + accountIdsList); + logger.info("allAccounts : " + allAccounts); + logger.info("pagination : " + pagination); + logger.info("pageState : " + pageState); + logger.info("limit : " + limit); + + /*System.out.println(""); + System.out.println("===================="); + System.out.println("Request Parameters :"); + System.out.println("===================="); + System.out.println(""); + System.out.println("accountIdsList : " + accountIdsList); + System.out.println("allAccounts : " + allAccounts); + System.out.println("pagination : " + pagination); + System.out.println("pageState : " + pageState); + System.out.println("limit : " + limit); + System.out.println(""); + System.out.println("------------");*/ + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + + if (!accountIdsList.isEmpty()) { + logger.info("Fetching details on basis of given account Ids."); + System.out.println("Fetching details on basis of given account Ids."); + System.out.println(""); + + // Set accountIds = new HashSet<>(accountIdsList.size()); + + UUID[] accountIds = new UUID[accountIdsList.size()]; + + for (int i = 0; i <= accountIdsList.size() - 1; i++) { + accountIds[i] = UUID.fromString(accountIdsList.get(i)); + } + + accountsList = accountService.getAccountByIds(accountIds); + } else if (pagination == 1) { + + logger.info("Fetching details on basis of pagination."); + System.out.println(""); + System.out.println("Fetching details on basis of pagination."); + + if (pageState == null || pageState.equals("") || limit <= 0) { + + logger.info("Invalid input for pagination"); + logger.info("pageState : " + pageState); + logger.info("Limit : " + limit); + System.out.println(""); + System.out.println("Invalid input for pagination"); + System.out.println("limit : " + limit); + System.out.println("pageState : " + pageState); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.INVALID_INPUT).setMessage("Your input is not valid.") + .build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + + Map accountsMap = (pageState.equals("nil")) ? accountService.getAccountsByPagination(limit, null) : accountService.getAccountsByPagination(limit, pageState); + accountsList = (List) accountsMap.get("accounts"); + nextPageState = accountsMap.get("pageState").toString(); + + logger.info("Next page state : " + nextPageState); + System.out.println("Next page state : " + nextPageState); + + } else { + logger.info("Fetching all account Details."); + System.out.println("Fetching all account Details."); + System.out.println(""); + + accountsList = accountService.getAllAccounts(); + } + + logger.info("Accounts list size : " + accountsList.size()); + System.out.println("Accounts list size : " + accountsList.size()); + System.out.println(""); + + if (accountsList.size() <= 0) { + logger.info("No account details found : "); + System.out.println("No account details found : "); + System.out.println(""); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + + for (Account account : accountsList) { + + /* accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName(account.getFirstName()) + .setLastName(account.getLastName()).setProfileId(account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider(account.getAuthenticationProvider()) + .setAuthenticationprovidertype(account.getAuthenticationProviderType()) + .setUsername(account.getUsername()).build());*/ + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + if (nextPageState != null) { + accountsListBuilder.setNextPageState(nextPageState); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + + } + + + @Override + public void searchByUsername(biz.nynja.admin.account.grpc.SearchByUsernameRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info("Search By Username Endpoint."); + logger.info(""); + + String username = request.getUsername(); + logger.info("Username : " + username); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + + accountsList = accountService.getAccountByUsername(username); + logger.info("Accounts-list : {}", accountsList); + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + System.out.println(""); + System.out.println("Account : "); + System.out.println(account); + System.out.println(""); + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + + } + + @Override + public void searchByFirstname(biz.nynja.admin.account.grpc.SearchByFirstNameRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info("Search By FirstName Endpoint."); + logger.info(""); + + String firstName = request.getFirstName(); + + logger.info("Firstname : " + firstName); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + accountsList = accountService.getAccountByFirstname(firstName); + logger.info("Accounts-list : {}", accountsList); + + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + + + } + + @Override + public void searchByLastname(biz.nynja.admin.account.grpc.SearchByLastNameRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info("Search By LastName Endpoint."); + logger.info(""); + + String lastName = request.getLastName(); + + logger.info("Lastname : " + lastName); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + accountsList = accountService.getAccountByLastname(lastName); + logger.info("Accounts-list : {}", accountsList); + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + + } + + @Override + public void searchByPhoneNumber(biz.nynja.admin.account.grpc.SearchByPhoneNumberRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info("Search By PhoneNumber Endpoint."); + logger.info(""); + + String phoneNumber = request.getPhoneNumber(); + + logger.info("Phonenumber : " + phoneNumber); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + accountsList = accountService.getAccountByAuthenticationProvider(phoneNumber); + logger.info("Accounts-list : {}", accountsList); + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + } + + @Override + public void searchByEmail(biz.nynja.admin.account.grpc.SearchByEmailRequest request, + io.grpc.stub.StreamObserver responseObserver) { + + logger.info("Search By Email Endpoint."); + logger.info(""); + + String email = request.getEmail(); + + logger.info("Email : " + email); + + List accountsList = null; + String nextPageState = null; + ErrorResponse errorResponse = null; + + accountsList = accountService.getAccountByAuthenticationProvider(email); + logger.info("Account-list : {}", accountsList); + + + + if (accountsList == null) { + logger.info("Account list in null."); + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else if (accountsList.size() == 0) { + logger.info("Account list size is zero."); + + + errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) + .setMessage("Accounts are found").build(); + + AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } else { + + AccountsList.Builder accountsListBuilder = AccountsList.newBuilder(); + for (Account account : accountsList) { + + accountsListBuilder.addAccountDetails(AccountDetails.newBuilder().setFirstName((account.getFirstName() == null) ? "" : account.getFirstName()) + .setLastName((account.getLastName() == null) ? "" : account.getLastName()).setProfileId((account.getProfileId() == null) ? "" : account.getProfileId().toString()) + .setAccountId(account.getAccountId().toString()).setAuthenticationprovider((account.getAuthenticationProvider() == null) ? "" : account.getAuthenticationProvider()) + .setAuthenticationprovidertype((account.getAuthenticationProviderType() == null) ? "" : account.getAuthenticationProviderType()) + .setAccountMark((account.getAccountMark() != null) ? account.getAccountMark() : "").setAccountName((account.getAccountName() != null) ? account.getAccountName() : "") + .setAvatar((account.getAvatar() != null) ? account.getAvatar() : "").setCreationTimestamp((account.getCreationTimestamp() != null) ? account.getCreationTimestamp() : 0) + .setQrCode((account.getQrCode() != null) ? account.getQrCode() : "") + .setUsername(account.getUsername()).build()); + } + + accountsListBuilder.build(); + + AccountsResponse response = (errorResponse == null) ? AccountsResponse.newBuilder().setAccountsList(accountsListBuilder) + .build() : AccountsResponse.newBuilder().setError(errorResponse).build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return; + + } + } + + +} diff --git a/src/main/java/biz/nynja/account/services/admin/AccountService.java b/src/main/java/biz/nynja/account/services/admin/AccountService.java new file mode 100644 index 0000000..8bc6fa4 --- /dev/null +++ b/src/main/java/biz/nynja/account/services/admin/AccountService.java @@ -0,0 +1,72 @@ +package biz.nynja.account.services.admin; + +import biz.nynja.account.models.Account; +import biz.nynja.account.repositories.admin.AccountRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +/** + * This Account Service calls the functions of Account Repository + * which contains account search functions for market admin panel + * to filter accounts while broadcasting message + * + * @author Jayendra + * @since 2019-12-04 + * + */ + + +@Service +public class AccountService { + + @Autowired + private AccountRepository accountRepository; + + public List getAccountByAccountId(UUID accountId) { + return accountRepository.getAccountByAccountId(accountId); + } + + public List getAllAccounts() { + return accountRepository.getAllAccounts(); + } + + public Map getAccountsByPagination(int fetchSize, String pageState) { + return accountRepository.getAccountsByPagination(fetchSize, pageState); + } + + public long getAllAccountsSize() { + return accountRepository.getAllAccountsSize(); + } + + public List getAccountByIds(UUID[] accountIds) { + return accountRepository.getAccountByIds(accountIds); + } + + public Map getAccountsByCreationTimeStampPagination(long fromCreationTime, long toCreationTime, int fetchSize, String pageState) { + return accountRepository.getAccountsByCreationTimeStampPagination(fromCreationTime, toCreationTime, fetchSize, pageState); + } + + public List getAccountsByCreationTimeStamp(long fromCreationTime, long toCreationTime) { + return accountRepository.getAccountsByCreationTimeStamp(fromCreationTime, toCreationTime); + } + + public List getAccountByAuthenticationProvider(String authenticationprovider) { + return accountRepository.getAccountByAuthenticationProvider(authenticationprovider); + } + + public List getAccountByUsername(String username) { + return accountRepository.getAccountByUsername(username); + } + + public List getAccountByFirstname(String firstname) { + return accountRepository.getAccountByFirstname(firstname); + } + + public List getAccountByLastname(String lastname) { + return accountRepository.getAccountByLastname(lastname); + } +} + diff --git a/src/main/proto/AdminAccounts.proto b/src/main/proto/AdminAccounts.proto new file mode 100644 index 0000000..2cf443a --- /dev/null +++ b/src/main/proto/AdminAccounts.proto @@ -0,0 +1,144 @@ +syntax = "proto3"; + +option java_package = "biz.nynja.admin.account.grpc"; +option java_multiple_files = true; + + +/* Each user could have one or more roles listed bellow: */ +enum Role { + UNKNOWN_ROLE = 0; + USER = 1; // regular user + ACCOUNT_ADMIN = 2; // this role must be treated as account admin + AUTH_SERVICE = 3; // role used by the authentication service + AUTHENTICATION_ADMIN = 4; // this role must be treated as authentication admin +} + +message Date { + int32 year = 1; // year in format YYYY i.e 2019 + int32 month = 2; //month: from 1(January) to 12(December) + int32 day = 3; // valid day with value from 1 to 31 +} + + +enum AccessStatus { + UNKNOWN_ACCESS_STATUS = 0; + ENABLED = 1; // Regular running user. + SUSPENDED = 2; // Behaves exactly as deleted for certain period. + DISABLED = 3; // All requests from such user are discarded including login. +} + +enum ContactType { + MISSING_CONTACT_TYPE = 0; + PHONE_CONTACT = 1; + EMAIL_CONTACT = 2; + FACEBOOK_CONTACT = 3; + GOOGLEPLUS_CONTACT = 4; + TWITTER_CONTACT = 5; +} + +message ContactDetails { + ContactType type = 1; + string value = 2; // depends on the contact type. For example phone number when type is PHONE etc. + /* The label is not mandatory. It could be used only when type field is set to 'PHONE_CONTACT'. + * The value of this label should clarify the phone number: for example "work", "home" etc. */ + string label = 3; + string countrySelector = 4; // This is country selector for phone number contact info (selectors like BG, US and so on) +} + +message AccountDetails { + string accountId = 1; // account id + string profileId = 2; // profile id + string firstName = 3; // User's first name + string lastName = 4; // User's last name + string username = 5; // Unique identifier + string authenticationprovider = 6; + string authenticationprovidertype = 7; + AccessStatus accessStatus = 8; + string accountMark = 9; + string accountName = 10; + string avatar = 11; + Date birthday = 12; + repeated ContactDetails contactsInfo = 13; // Contacts that belong to the account + int64 creationTimestamp = 14; // Creation timestamp is set when account is created. + int64 lastUpdateTimestamp = 15; // Update timestamp is '0' if account is never updated. + string qrCode = 16; // Unique identifier that is used for generation of the QR + repeated Role roles = 17; // Array of Roles that belongs to the account +} + +message AccountsList { + repeated AccountDetails accountDetails = 1; + string nextPageState = 2; // pageState of next page if pagination is enabled in request. + +} + +message AccountsResponse { + oneof result { + ErrorResponse error = 1; + AccountsList accountsList = 2; + } +} + +message ErrorResponse { + enum Cause { + INTERNAL_SERVER_ERROR = 0; + INVALID_INPUT = 1; + ACCOUNTS_NOT_FOUND = 2; + } + Cause cause = 1; + string message = 2; +} + +message GetAllAccountsRequest { + + repeated string accountIds = 1; // Fetch details by given accountids + int32 allAccounts = 2; // Fetch all account details + int32 pagination = 3; // Do pagination 1 -> true, 0 -> false + int32 limit = 4; // (required only in case of pagination) Number of records in a page + string pageState = 5; // (required only in case of pagination) Defines next page, pageState = 'nil' incase of first page. + +} + +message SearchByUsernameRequest { + string username = 1; +} + +message SearchByFirstNameRequest { + string firstName = 1; +} + +message SearchByLastNameRequest { + string lastName = 1; +} + +message SearchByPhoneNumberRequest { + string phoneNumber = 1; +} + +message SearchByEmailRequest { + string email = 1; +} + +message SearchByAccountIdRequest { + string accountId = 1; +} + +message GetAccountsByCreationTime { + int64 fromCreationTime = 1; + int64 toCreationTime = 2; + int32 pagination = 3; // Do pagination 1 -> true, 0 -> false + int32 limit = 4; // (required only in case of pagination) Number of records in a page + string pageState = 5; // (required only in case of pagination) Defines next page, pageState = 'nil' incase of first page. +} + +service AdminAccountsService { + rpc getAccounts (GetAllAccountsRequest) returns (AccountsResponse); + rpc getAccountsByCreationTime (GetAccountsByCreationTime) returns (AccountsResponse); + rpc searchByUsername (SearchByUsernameRequest) returns (AccountsResponse); + rpc searchByFirstname (SearchByFirstNameRequest) returns (AccountsResponse); + rpc searchByLastname (SearchByLastNameRequest) returns (AccountsResponse); + rpc searchByPhoneNumber (SearchByPhoneNumberRequest) returns (AccountsResponse); + rpc searchByEmail (SearchByEmailRequest) returns (AccountsResponse); + rpc searchByAccountId (SearchByAccountIdRequest) returns (AccountsResponse); +} + + -- GitLab From c3613718f5c1241646ef583b15da51ad35eb7190 Mon Sep 17 00:00:00 2001 From: Jayendra Date: Thu, 5 Dec 2019 12:47:00 +0530 Subject: [PATCH 2/2] Updated response message for admin account endpoints --- .../account/services/AdminAccountsImpl.java | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java b/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java index 5eaa8ba..4044eea 100644 --- a/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java +++ b/src/main/java/biz/nynja/account/services/AdminAccountsImpl.java @@ -57,7 +57,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -69,7 +69,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -148,7 +148,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -160,7 +160,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -207,7 +207,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -219,7 +219,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -362,7 +362,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { System.out.println(""); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); @@ -430,7 +430,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -442,7 +442,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -506,7 +506,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -518,7 +518,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -577,7 +577,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -589,7 +589,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -647,7 +647,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -659,7 +659,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -717,7 +717,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { logger.info("Account list in null."); errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); @@ -729,7 +729,7 @@ public class AdminAccountsImpl extends AdminAccountsServiceImplBase { errorResponse = ErrorResponse.newBuilder().setCause(ErrorResponse.Cause.ACCOUNTS_NOT_FOUND) - .setMessage("Accounts are found").build(); + .setMessage("Accounts are not found").build(); AccountsResponse response = AccountsResponse.newBuilder().setError(errorResponse).build(); responseObserver.onNext(response); -- GitLab