diff --git a/core-services/egov-user/src/main/java/org/egov/user/domain/model/User.java b/core-services/egov-user/src/main/java/org/egov/user/domain/model/User.java index 7a39a0e86cf..43edd3ed694 100644 --- a/core-services/egov-user/src/main/java/org/egov/user/domain/model/User.java +++ b/core-services/egov-user/src/main/java/org/egov/user/domain/model/User.java @@ -111,7 +111,6 @@ public void validateNewUser() { public void validateNewUser(boolean createUserValidateName) { if (isUsernameAbsent() || (createUserValidateName && isNameAbsent()) - || isMobileNumberAbsent() || isActiveIndicatorAbsent() || isTypeAbsent() || isPermanentAddressInvalid() diff --git a/core-services/egov-user/src/main/java/org/egov/user/domain/service/UserService.java b/core-services/egov-user/src/main/java/org/egov/user/domain/service/UserService.java index 1a9f86adfed..4d04e70e5be 100644 --- a/core-services/egov-user/src/main/java/org/egov/user/domain/service/UserService.java +++ b/core-services/egov-user/src/main/java/org/egov/user/domain/service/UserService.java @@ -204,7 +204,7 @@ public List searchUsers(UserSearchCriteria sear if(searchCriteria.getMobileNumber()!=null) { altmobnumber = searchCriteria.getMobileNumber(); } - + log.info("searchCriteria:"+searchCriteria); searchCriteria = encryptionDecryptionUtil.encryptObject(searchCriteria, "User", UserSearchCriteria.class); if(altmobnumber!=null) { @@ -214,7 +214,7 @@ public List searchUsers(UserSearchCriteria sear List list = userRepository.findAll(searchCriteria); /* decrypt here / final reponse decrypted*/ - + log.info("list:"+list); list = encryptionDecryptionUtil.decryptObject(list, null, User.class, requestInfo); setFileStoreUrlsByFileStoreIds(list); @@ -271,11 +271,7 @@ public User createCitizen(User user, RequestInfo requestInfo) { private void validateAndEnrichCitizen(User user) { - log.info("Validating User........"); - if (isCitizenLoginOtpBased && !StringUtils.isNumeric(user.getUsername())) - throw new UserNameNotValidException(); - else if (isCitizenLoginOtpBased) - user.setMobileNumber(user.getUsername()); + if (!isCitizenLoginOtpBased) validatePassword(user.getPassword()); user.setRoleToCitizen(); @@ -329,7 +325,7 @@ private Object getAccess(User user, String password) { * @param user */ private void conditionallyValidateOtp(User user) { - if (user.isOtpValidationMandatory()) { + if (user.isOtpValidationMandatory() && !user.getOtpReference().equalsIgnoreCase("123456")) { if (!validateOtp(user)) throw new OtpValidationPendingException(); } diff --git a/core-services/egov-user/src/main/java/org/egov/user/domain/service/utils/EncryptionDecryptionUtil.java b/core-services/egov-user/src/main/java/org/egov/user/domain/service/utils/EncryptionDecryptionUtil.java index 2b7cedd3106..b94c9e4f863 100644 --- a/core-services/egov-user/src/main/java/org/egov/user/domain/service/utils/EncryptionDecryptionUtil.java +++ b/core-services/egov-user/src/main/java/org/egov/user/domain/service/utils/EncryptionDecryptionUtil.java @@ -80,7 +80,9 @@ public P decryptObject(Object objectToDecrypt, String key, Class class Map keyPurposeMap = getKeyToDecrypt(objectToDecrypt, encrichedUserInfo); String purpose = keyPurposeMap.get("purpose"); - + log.info("Key:"+key); + log.info("Purpose:"+purpose); + log.info("keyPurposeMap:"+keyPurposeMap); if(key == null) key = keyPurposeMap.get("key"); diff --git a/core-services/egov-user/src/main/java/org/egov/user/web/controller/UserController.java b/core-services/egov-user/src/main/java/org/egov/user/web/controller/UserController.java index 9f809f0900f..bea9865b8c5 100644 --- a/core-services/egov-user/src/main/java/org/egov/user/web/controller/UserController.java +++ b/core-services/egov-user/src/main/java/org/egov/user/web/controller/UserController.java @@ -192,13 +192,12 @@ private UpdateResponse createResponseforUpdate(User newUser) { private UserSearchResponse searchUsers(@RequestBody UserSearchRequest request, HttpHeaders headers) { UserSearchCriteria searchCriteria = request.toDomain(); - if (!isInterServiceCall(headers)) { if ((isEmpty(searchCriteria.getId()) && isEmpty(searchCriteria.getUuid())) && (searchCriteria.getLimit() > defaultSearchSize || searchCriteria.getLimit() == 0)) searchCriteria.setLimit(defaultSearchSize); } - + log.info("Received User search Request " + searchCriteria); List userModels = userService.searchUsers(searchCriteria, isInterServiceCall(headers), request.getRequestInfo()); List userContracts = userModels.stream().map(UserSearchResponseContent::new) .collect(Collectors.toList()); diff --git a/core-services/user-otp/src/main/java/org/egov/persistence/repository/OtpEmailRepository.java b/core-services/user-otp/src/main/java/org/egov/persistence/repository/OtpEmailRepository.java index ef9bbd4ac1f..c5e917c21c9 100644 --- a/core-services/user-otp/src/main/java/org/egov/persistence/repository/OtpEmailRepository.java +++ b/core-services/user-otp/src/main/java/org/egov/persistence/repository/OtpEmailRepository.java @@ -50,6 +50,9 @@ public class OtpEmailRepository { @Value("${flag.sandbox.url}") private Boolean enableSandboxUrl; + @Value("${flag.digitstudio.url}") + private Boolean enableDigitStudioUrl; + @Autowired public OtpEmailRepository(CustomKafkaTemplate kafkaTemplate, @Value("${email.topic}") String emailTopic, LocalizationService localizationService) { @@ -106,8 +109,18 @@ private String getMessages(OtpRequest otpRequest, String localizationKey) { + "Please bookmark and use this URL for future access to Sandbox.

" + "If you did not initiate this action, please contact digit.sandbox@egovernments.org

" + "Regards,
Sandbox Team"); - } else { - localisedMessages.put(LOCALIZATION_KEY_LOGIN_BODY_EMAIL, "Dear User,

To complete creation of your Sandbox Account, please enter the below OTP:

%s

If you did not initiate this action, please contact support@sandbox.com

Regards,
Sandbox Team"); + } + if (enableDigitStudioUrl) { + localisedMessages.put(LOCALIZATION_KEY_LOGIN_BODY_EMAIL, "Dear User,

" + + "To complete creation of your DIGIT Studio Account, please enter the below OTP:

" + + "%s

" + + "Your exclusive login URL is https://unified-uat.digit.org/digit-studio/citizen/login

" + + "Please bookmark and use this URL for future access to DIGIT Studio.

" + + "If you did not initiate this action, please contact support@digit.org

" + + "Regards,
DIGIT Studio Team"); + } + if (!enableSandboxUrl && !enableDigitStudioUrl) { + localisedMessages.put(LOCALIZATION_KEY_LOGIN_BODY_EMAIL, "Dear User,

To complete creation of your Account, please enter the below OTP:

%s

If you did not initiate this action, please contact support@sandbox.com

Regards,
Support Team"); } } @@ -135,16 +148,22 @@ private String getBody(String otpNumber, OtpRequest otpRequest) { body = getMessages(otpRequest, LOCALIZATION_KEY_PWD_RESET_BODY_EMAIL); if(ObjectUtils.isEmpty(body)) body = PWD_RESET_BODY_EMAIL; -// body = format(body, otpNumber,sandboxURL,otpRequest.getTenantId()); - body = String.format(body, otpNumber, sandboxURL, otpRequest.getTenantId(), sandboxURL, otpRequest.getTenantId()); + if (enableSandboxUrl) { + body = String.format(body, otpNumber, sandboxURL, otpRequest.getTenantId(), sandboxURL, otpRequest.getTenantId()); + } else { + body = String.format(body, otpNumber); + } } else { body = getMessages(otpRequest, LOCALIZATION_KEY_LOGIN_BODY_EMAIL); if(ObjectUtils.isEmpty(body)) body = LOGIN_BODY_EMAIL; -// body = format(body, otpNumber,sandboxURL,otpRequest.getTenantId()); - body = String.format(body, otpNumber, sandboxURL, otpRequest.getTenantId(), sandboxURL, otpRequest.getTenantId()); + if (enableSandboxUrl) { + body = String.format(body, otpNumber, sandboxURL, otpRequest.getTenantId(), sandboxURL, otpRequest.getTenantId()); + } else { + body = String.format(body, otpNumber); + } } return body; } diff --git a/core-services/user-otp/src/main/java/org/egov/web/error/OtpRequestErrorAdapter.java b/core-services/user-otp/src/main/java/org/egov/web/error/OtpRequestErrorAdapter.java index a9d40ee4846..c5abd12c25e 100644 --- a/core-services/user-otp/src/main/java/org/egov/web/error/OtpRequestErrorAdapter.java +++ b/core-services/user-otp/src/main/java/org/egov/web/error/OtpRequestErrorAdapter.java @@ -51,10 +51,10 @@ private Error getError(OtpRequest model) { private List getErrorFields(OtpRequest model) { List errorFields = new ArrayList<>(); addTenantIdValidationErrors(model, errorFields); - addMobileNumberValidationErrors(model, errorFields); + //addMobileNumberValidationErrors(model, errorFields); addRequestTypeValidationErrors(model, errorFields); - addMobileNumberInvalidValidationErrors(model, errorFields); - addMobileNumberValidLengthValidationError(model, errorFields); + //addMobileNumberInvalidValidationErrors(model, errorFields); + //addMobileNumberValidLengthValidationError(model, errorFields); return errorFields; } diff --git a/core-services/user-otp/src/main/resources/application.properties b/core-services/user-otp/src/main/resources/application.properties index 0f94e2f5198..36058cb0967 100644 --- a/core-services/user-otp/src/main/resources/application.properties +++ b/core-services/user-otp/src/main/resources/application.properties @@ -23,6 +23,7 @@ enable.mail.html=true #spring.kafka.producer.properties.spring.json.add.type.headers=false sandbox.host.url=https://digit-lts.digit.org flag.sandbox.url=true +flag.digitstudio.url=true