package com.iconplus.smartproc.service.roles; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.entity.Roles; import com.iconplus.smartproc.model.request.RolesRequest; import com.iconplus.smartproc.model.response.RolesResponse; import com.iconplus.smartproc.repository.RolesRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.stereotype.Service; @Service public class GetRoleByIdService implements BaseService { private final RolesRepository rolesRepository; public GetRoleByIdService(RolesRepository rolesRepository) { this.rolesRepository = rolesRepository; } @Override public RolesResponse execute(RolesRequest input) { Roles role = rolesRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10005, Constants.ERR_TTL_10005, String.format(Constants.ERR_MSG_10005, input.getId()))); return RolesResponse.builder() .id(role.getId()) .role(role.getRole()) .keterangan(role.getKeterangan()) .isActive(role.getIsActive()) .isDelete(role.getIsDelete()) .build(); } }