From 43b366ba8f9228899865f2beaa61d293c261ef43 Mon Sep 17 00:00:00 2001 From: Abhishek-eGov Date: Tue, 18 Apr 2023 11:39:14 +0530 Subject: [PATCH 1/3] Making hrms service compatible with central instance. --- .../src/main/java/org/egov/hrms/service/UserService.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java b/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java index 5f6fe6c20dd..b5732dd2b90 100644 --- a/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java +++ b/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java @@ -54,6 +54,7 @@ import org.egov.hrms.web.contract.UserRequest; import org.egov.hrms.web.contract.UserResponse; import org.egov.tracer.model.CustomException; +import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -92,6 +93,11 @@ public class UserService { private String internalMicroserviceRoleUuid = null; + @Autowired + private MultiStateInstanceUtil multiStateInstanceUtil; + + public static final String TENANTID_MDC_STRING = "TENANTID"; + @PostConstruct void initalizeSystemuser(){ RequestInfo requestInfo = new RequestInfo(); @@ -101,6 +107,9 @@ void initalizeSystemuser(){ userSearchRequest.put("RequestInfo", requestInfo); userSearchRequest.put("tenantId", propertiesManager.getParentLevelTenantId()); userSearchRequest.put("roleCodes", Collections.singletonList(INTERNALMICROSERVICEROLE_CODE)); + if(multiStateInstanceUtil.getIsEnvironmentCentralInstance()){ + MDC.put(TENANTID_MDC_STRING, propertiesManager.getStateLevelTenantId()); + } try { LinkedHashMap responseMap = (LinkedHashMap) restCallRepository.fetchResult(uri, userSearchRequest); List> users = (List>) responseMap.get("user"); From 32c144e41e07dc282bdea16783e5bf732e380f69 Mon Sep 17 00:00:00 2001 From: Abhishek-eGov Date: Tue, 18 Apr 2023 15:11:51 +0530 Subject: [PATCH 2/3] add state-level-tenantId --- .../src/main/java/org/egov/hrms/service/UserService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java b/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java index b5732dd2b90..23e5fb0c1f6 100644 --- a/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java +++ b/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java @@ -105,7 +105,7 @@ void initalizeSystemuser(){ uri.append(propertiesManager.getUserHost()).append(propertiesManager.getUserSearchEndpoint()); // URL for user search call Map userSearchRequest = new HashMap<>(); userSearchRequest.put("RequestInfo", requestInfo); - userSearchRequest.put("tenantId", propertiesManager.getParentLevelTenantId()); + userSearchRequest.put("tenantId", propertiesManager.getStateLevelTenantId()); userSearchRequest.put("roleCodes", Collections.singletonList(INTERNALMICROSERVICEROLE_CODE)); if(multiStateInstanceUtil.getIsEnvironmentCentralInstance()){ MDC.put(TENANTID_MDC_STRING, propertiesManager.getStateLevelTenantId()); From ff17da8f7e0fae4aefe8e3d8748c581cb32ccf5e Mon Sep 17 00:00:00 2001 From: Shashwat Mishra Date: Tue, 18 Apr 2023 17:27:48 +0530 Subject: [PATCH 3/3] [CENTRAL_INSTANCE] Removed references to parent level tenantId --- .../src/main/java/org/egov/hrms/config/PropertiesManager.java | 3 --- .../src/main/java/org/egov/hrms/service/UserService.java | 4 ++-- .../egov-hrms/src/main/resources/application.properties | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/business-services/egov-hrms/src/main/java/org/egov/hrms/config/PropertiesManager.java b/business-services/egov-hrms/src/main/java/org/egov/hrms/config/PropertiesManager.java index d9263d4587b..ff486ebf359 100644 --- a/business-services/egov-hrms/src/main/java/org/egov/hrms/config/PropertiesManager.java +++ b/business-services/egov-hrms/src/main/java/org/egov/hrms/config/PropertiesManager.java @@ -111,9 +111,6 @@ public class PropertiesManager { @Value("${state.level.tenant.id}") public String stateLevelTenantId; - @Value("${parent.level.tenant.id}") - private String parentLevelTenantId; - @Value("${decryption.abac.enable}") private Boolean isDecryptionEnable; } \ No newline at end of file diff --git a/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java b/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java index 23e5fb0c1f6..a59e5f8bc52 100644 --- a/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java +++ b/business-services/egov-hrms/src/main/java/org/egov/hrms/service/UserService.java @@ -127,10 +127,10 @@ private void createInternalMicroserviceUser(RequestInfo requestInfo){ //Creating role with INTERNAL_MICROSERVICE_ROLE Role role = Role.builder() .name(INTERNALMICROSERVICEROLE_NAME).code(INTERNALMICROSERVICEROLE_CODE) - .tenantId(propertiesManager.getParentLevelTenantId()).build(); + .tenantId(propertiesManager.getStateLevelTenantId()).build(); User user = User.builder().userName(INTERNALMICROSERVICEUSER_USERNAME) .name(INTERNALMICROSERVICEUSER_NAME).mobileNumber(INTERNALMICROSERVICEUSER_MOBILENO) - .type(INTERNALMICROSERVICEUSER_TYPE).tenantId(propertiesManager.getParentLevelTenantId()) + .type(INTERNALMICROSERVICEUSER_TYPE).tenantId(propertiesManager.getStateLevelTenantId()) .roles(Collections.singletonList(role)).id(0L).build(); userCreateRequest.put("RequestInfo", requestInfo); diff --git a/business-services/egov-hrms/src/main/resources/application.properties b/business-services/egov-hrms/src/main/resources/application.properties index 11600397ad1..557f3edfc0b 100644 --- a/business-services/egov-hrms/src/main/resources/application.properties +++ b/business-services/egov-hrms/src/main/resources/application.properties @@ -68,7 +68,6 @@ egov.hrms.default.pagination.limit=200 egov.hrms.default.pwd.length=8 open.search.enabled.roles=SUPERUSER egov.pwd.allowed.special.characters=@#$% -parent.level.tenant.id=pb decryption.abac.enable=false #------------------------------ KAFKA CONFIGURATIONS ------------------------------#