smartproc-be/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetJenisKontrakByIdService.java
2023-05-26 10:39:31 +07:00

41 lines
1.7 KiB
Java

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<JenisKontrakRequest, JenisKontrakResponse> {
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();
}
}