package com.iconplus.smartproc.service.instansi; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.entity.Instansi; import com.iconplus.smartproc.model.request.InstansiRequest; import com.iconplus.smartproc.model.response.InstansiResponse; import com.iconplus.smartproc.repository.InstansiRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class PostCreateInstansiService implements BaseService { private InstansiRepository instansiRepository; public PostCreateInstansiService(InstansiRepository instansiRepository) { this.instansiRepository = instansiRepository; } @Override public InstansiResponse execute(InstansiRequest input) { var instansi = instansiRepository.findByInstansiAndIsDeleteFalse(input.getInstansi()); if (instansi.isPresent()) { throw new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10002, Constants.ERR_TTL_10002, String.format(Constants.ERR_MSG_10002, "Instansi", input.getInstansi())); } Instansi instansiEntity = Instansi.builder() .instansi(input.getInstansi()) .alamat(input.getAlamat()) .keterangan(input.getKeterangan()) .isActive(input.getIsActive()) .isDelete(false) .build(); var result = instansiRepository.save(instansiEntity); return InstansiResponse.builder() .id(result.getId()) .build(); } }