Done ticket GEPAFINBE-3
This commit is contained in:
80
src/main/java/net/gepafin/tendermanagement/dao/RoleDao.java
Normal file
80
src/main/java/net/gepafin/tendermanagement/dao/RoleDao.java
Normal file
@@ -0,0 +1,80 @@
|
||||
package net.gepafin.tendermanagement.dao;
|
||||
|
||||
import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.entities.RoleEntity;
|
||||
import net.gepafin.tendermanagement.model.request.RoleReq;
|
||||
import net.gepafin.tendermanagement.model.response.RoleResponseBean;
|
||||
import net.gepafin.tendermanagement.repositories.RoleRepository;
|
||||
import net.gepafin.tendermanagement.service.RegionService;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
|
||||
|
||||
@Component
|
||||
public class RoleDao {
|
||||
|
||||
@Autowired
|
||||
private RoleRepository roleRepository;
|
||||
@Autowired
|
||||
private RegionService regionService;
|
||||
|
||||
public RoleResponseBean createRole(RoleReq roleReq) {
|
||||
RoleEntity roleEntity = convertRoleRequestToRoleEntity(roleReq);
|
||||
roleEntity = roleRepository.save(roleEntity);
|
||||
return convertRoleEntityToRoleResponse(roleEntity);
|
||||
}
|
||||
private RoleEntity convertRoleRequestToRoleEntity(RoleReq roleReq) {
|
||||
RoleEntity roleEntity = new RoleEntity();
|
||||
roleEntity.setRoleName(roleReq.getRoleName());
|
||||
roleEntity.setPermissions(roleReq.getPermissions());
|
||||
roleEntity.setDescription(roleEntity.getDescription());
|
||||
roleEntity.setRegion(regionService.getRegionById(roleReq.getRegionId()));
|
||||
return roleEntity;
|
||||
}
|
||||
private RoleResponseBean convertRoleEntityToRoleResponse(RoleEntity roleEntity) {
|
||||
RoleResponseBean roleResponseBean=new RoleResponseBean();
|
||||
roleResponseBean.setId(roleEntity.getId());
|
||||
roleResponseBean.setCreatedDate(roleEntity.getCreatedDate());
|
||||
roleResponseBean.setUpdatedDate(roleEntity.getUpdatedDate());
|
||||
roleResponseBean.setRoleName(roleEntity.getRoleName());
|
||||
roleResponseBean.setDescription(roleEntity.getDescription());
|
||||
roleResponseBean.setPermissions(roleEntity.getPermissions());
|
||||
roleResponseBean.setRegion(roleEntity.getRegion());
|
||||
return roleResponseBean;
|
||||
}
|
||||
public RoleResponseBean updateRole(Long id, RoleReq roleReq) {
|
||||
|
||||
RoleEntity existingUserRole = getRoleById(id);
|
||||
setIfUpdated(existingUserRole::getRoleName, existingUserRole::setRoleName, roleReq.getRoleName());
|
||||
setIfUpdated(existingUserRole::getDescription, existingUserRole::setDescription, roleReq.getDescription());
|
||||
setIfUpdated(existingUserRole::getPermissions, existingUserRole::setPermissions, roleReq.getPermissions());
|
||||
roleRepository.save(existingUserRole);
|
||||
return Utils.convertObject(existingUserRole, RoleResponseBean.class);
|
||||
}
|
||||
|
||||
public RoleEntity getRoleById(Long id) {
|
||||
return roleRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.ROLE_NOT_FOUND)));
|
||||
}
|
||||
|
||||
public void deleteById(Long id) {
|
||||
roleRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,Translator.toLocale(GepafinConstant.ROLE_NOT_FOUND)));
|
||||
roleRepository.deleteById(id);
|
||||
}
|
||||
|
||||
public List<RoleResponseBean> getAllRoles() {
|
||||
return roleRepository.findAll()
|
||||
.stream()
|
||||
.map(roleEntity -> Utils.convertObject(roleEntity, RoleResponseBean.class))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user