package com.iconplus.smartproc.service.jeniskontrak; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.JenisKontrakRequest; import com.iconplus.smartproc.model.response.JenisKontrakResponse; import com.iconplus.smartproc.repository.JenisKontrakRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class GetJenisKontrakByIdService implements BaseService { private final JenisKontrakRepository jenisKontrakRepository; public GetJenisKontrakByIdService(JenisKontrakRepository jenisKontrakRepository) { this.jenisKontrakRepository = jenisKontrakRepository; } @Override public JenisKontrakResponse execute(JenisKontrakRequest input) { var jenisKontrakView = jenisKontrakRepository.findByIdAndIsDeleteFalse(input.getId()); if (jenisKontrakView.isEmpty()) { throw new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, input.getId())); } return JenisKontrakResponse.builder() .id(jenisKontrakView.get().getId()) .jenisKontrak(jenisKontrakView.get().getJenisKontrak()) .keterangan(jenisKontrakView.get().getKeterangan()) .isActive(jenisKontrakView.get().getIsActive()) .isDelete(jenisKontrakView.get().getIsDelete()) .build(); } }