package com.iconplus.smartproc.service.bidang; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.BidangRequest; import com.iconplus.smartproc.model.response.BidangResponse; import com.iconplus.smartproc.repository.BidangRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.stereotype.Service; @Service public class PutUpdateBidangService implements BaseService { private BidangRepository bidangRepository; public PutUpdateBidangService(BidangRepository bidangRepository) { this.bidangRepository = bidangRepository; } @Override public BidangResponse execute(BidangRequest input) { var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, "Bidang", input.getId()))); bidang.setInstansiId(input.getInstansiId()); bidang.setBidang(input.getBidang()); bidang.setKeterangan(input.getKeterangan()); bidang.setIsActive(input.getIsActive()); var result = bidangRepository.save(bidang); return BidangResponse.builder() .id(result.getId()) .build(); } }