Done ticket GEPAFINBE-210
This commit is contained in:
@@ -15,6 +15,7 @@ import net.gepafin.tendermanagement.model.response.*;
|
||||
import net.gepafin.tendermanagement.model.util.JWTToken;
|
||||
import net.gepafin.tendermanagement.model.util.SortBy;
|
||||
import net.gepafin.tendermanagement.repositories.BeneficiaryRepository;
|
||||
import net.gepafin.tendermanagement.repositories.EmailLogRepository;
|
||||
import net.gepafin.tendermanagement.repositories.UserRepository;
|
||||
import net.gepafin.tendermanagement.service.HubService;
|
||||
import net.gepafin.tendermanagement.service.RoleService;
|
||||
@@ -109,9 +110,15 @@ public class UserDao {
|
||||
@Autowired
|
||||
private EmailNotificationDao emailNotificationDao;
|
||||
|
||||
@Autowired
|
||||
private EmailLogRepository emailLogRepository;
|
||||
|
||||
@Value("${fe.base.url}")
|
||||
private String feBaseUrl;
|
||||
|
||||
@Autowired
|
||||
EmailDao emailDao;
|
||||
|
||||
public JWTToken createUser(HttpServletRequest request, String tempToken, UserReq userReq) {
|
||||
|
||||
if (StringUtils.isEmpty(userReq.getHubUuid())) {
|
||||
@@ -134,7 +141,6 @@ public class UserDao {
|
||||
authenticationService.createSuccessLoginAttempt(loginAttemptEntity);
|
||||
}
|
||||
|
||||
JWTToken token = authService.getJWTTokenBean(userEntity, Boolean.TRUE, loginAttemptEntity.getId());
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Create beneficiary" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).newData(beneficiary).build());
|
||||
@@ -142,12 +148,30 @@ public class UserDao {
|
||||
/** This code is responsible for adding a version history log for the "Create user" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).newData(userEntity).build());
|
||||
|
||||
EmailSendResponse emailSendResponse = new EmailSendResponse();
|
||||
if(Boolean.FALSE.equals(roleEntity.getRoleType().equals(RoleStatusEnum.ROLE_BENEFICIARY.getValue()))){
|
||||
sendEmailToOnboardingUser(userEntity, userReq );
|
||||
boolean isEmailSendSuccess = isEmailSentSuccessfully(userEntity.getId());
|
||||
emailSendResponse.setIsEmailSend(isEmailSendSuccess);
|
||||
Long userActionId =(Long)request.getAttribute(GepafinConstant.USER_ACTION_ID);
|
||||
emailSendResponse.setUserActionId(userActionId);
|
||||
}
|
||||
JWTToken token = authService.getJWTTokenBean(userEntity, Boolean.TRUE, loginAttemptEntity.getId(),emailSendResponse);
|
||||
return token;
|
||||
}
|
||||
public void sendEmailToOnboardingUser(UserEntity userEntity,UserReq userReq){
|
||||
|
||||
public boolean isEmailSentSuccessfully(Long userId) {
|
||||
Optional<EmailLogEntity> latestLogOpt = emailLogRepository
|
||||
.findTopByUserIdAndEmailTypeAndIsDeletedFalseOrderByCreatedDateDesc(userId, EmailScenarioTypeEnum.USER_CREATION.getValue());
|
||||
|
||||
return latestLogOpt
|
||||
.map(log -> StatusTypeEnum.SUCCESS.getValue().equals(log.getSendStatus()))
|
||||
.orElse(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void sendEmailToOnboardingUser(UserEntity userEntity,UserReq userReq){
|
||||
SystemEmailTemplateResponse emailTemplate;
|
||||
RoleStatusEnum roleStatus = RoleStatusEnum.valueOf(userEntity.getRoleEntity().getRoleType());
|
||||
|
||||
@@ -459,7 +483,7 @@ public class UserDao {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void initiatePasswordReset(InitiatePasswordResetReq resetReq) {
|
||||
public InitiatePasswordResetResponse initiatePasswordReset(InitiatePasswordResetReq resetReq) {
|
||||
UserEntity user = userRepository.findUserExcludingRoleType(
|
||||
resetReq.getEmail(),
|
||||
resetReq.getHubUuid(),
|
||||
@@ -478,8 +502,11 @@ public class UserDao {
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldUserEntity).newData(user).build());
|
||||
|
||||
log.info("Password reset token generated for user: {}", resetReq.getEmail());
|
||||
|
||||
sendResetPasswordTokenEmail(user, token);
|
||||
InitiatePasswordResetResponse initiatePasswordResetResponse = new InitiatePasswordResetResponse();
|
||||
EmailSendResponse emailSendResponse = emailDao.buildEmailSendResponseFromRequest(request);
|
||||
initiatePasswordResetResponse.setEmailSendResponse(emailSendResponse);
|
||||
return initiatePasswordResetResponse;
|
||||
}
|
||||
public void sendResetPasswordTokenEmail(UserEntity user, String token) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user