package com.iconplus.smartproc.service.jabatan; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.JabatanRequest; import com.iconplus.smartproc.model.response.JabatanResponse; import com.iconplus.smartproc.repository.JabatanRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.stereotype.Service; @Service public class GetJabatanService implements BaseService { private JabatanRepository jabatanRepository; public GetJabatanService(JabatanRepository jabatanRepository) { this.jabatanRepository = jabatanRepository; } @Override public JabatanResponse execute(JabatanRequest input) { var jabatan = jabatanRepository.getJabatanDetails(input.getId()) .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, "Jabatan", input.getId()))); return JabatanResponse.builder() .id(jabatan.getId()) .jabatan(jabatan.getJabatan()) .keterangan(jabatan.getKeterangan()) .instansiId(jabatan.getInstansiId()) .instansi(jabatan.getInstansi()) .bidangId(jabatan.getBidangId()) .bidang(jabatan.getBidang()) .isActive(jabatan.getIsActive()) .isDelete(jabatan.getIsDelete()) .build(); } }