User-Management

This commit is contained in:
harish
2024-08-22 17:07:25 +05:30
parent cbd160fa14
commit ad8d580528
13 changed files with 98 additions and 35 deletions

View File

@@ -4,6 +4,8 @@ import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.RoleEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.CallTypeEnum;
import net.gepafin.tendermanagement.enums.UserStatusEnum;
import net.gepafin.tendermanagement.model.request.LoginReq;
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
import net.gepafin.tendermanagement.model.request.UserReq;
@@ -70,8 +72,10 @@ public class UserDao {
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG)));
log.info("Current user details: {}", userEntity);
log.info("New user details: {}", userReq);
setIfUpdated(userEntity::getStatus, userEntity::setStatus, userReq.getStatus());
String newStatus = userReq.getStatus() != null ? userReq.getStatus().getValue() : null;
if (Boolean.FALSE.equals(userEntity.getStatus().equals(newStatus))) {
userEntity.setStatus(newStatus);
}
setIfUpdated(userEntity::getFirstName, userEntity::setFirstName, userReq.getFirstName());
setIfUpdated(userEntity::getLastName, userEntity::setLastName, userReq.getLastName());
setIfUpdated(userEntity::getOrganization, userEntity::setOrganization, userReq.getOrganization());
@@ -91,7 +95,7 @@ public class UserDao {
userEntity.setPassword(passwordEncoder.encode(userReq.getPassword()));
userEntity.setEmail(userReq.getEmail());
userEntity.setFirstName(userReq.getFirstName());
userEntity.setStatus(userReq.getStatus());
userEntity.setStatus(userReq.getStatus().getValue());
userEntity.setLastName(userReq.getLastName());
userEntity.setOrganization(userReq.getOrganization());
userEntity.setAddress(userReq.getAddress());
@@ -113,7 +117,7 @@ public class UserDao {
userResponseBean.setAddress(userEntity.getAddress());
userResponseBean.setCity(userEntity.getCity());
userResponseBean.setCountry(userEntity.getCountry());
userResponseBean.setStatus(userEntity.getStatus());
userResponseBean.setStatus(UserStatusEnum.valueOf(userEntity.getStatus()));
RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(userEntity.getRoleEntity());
userResponseBean.setRole(roleResponseBean);
userResponseBean.setLastLogin(userEntity.getLastLogin());
@@ -124,6 +128,10 @@ public class UserDao {
log.info("Fetching user with ID: {}", id);
UserEntity userEntity = userRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG)));
if (!UserStatusEnum.ACTIVE.getValue().equals(userEntity.getStatus())) {
log.info("User with ID: {} is not active", id);
throw new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG));
}
log.info("User found: {}", userEntity);
return convertUserEntityToUserResponse(userEntity);
}