package com.iconplus.smartproc.service.drppengadaan; import com.iconplus.smartproc.helper.model.EmptyResponse; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @Service @Slf4j public class DeleteDokumenPendukungService implements BaseService { @Value("${config.file-upload.pendukung}") private String pathFileUploadPendukung; private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository; public DeleteDokumenPendukungService(DrpPengadaanDokumenRepository drpPengadaanDokumenRepository) { this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository; } @Override public EmptyResponse execute(DrpPengadaanDokumenRequest input) { var drpPengadaanDokumenOptional= drpPengadaanDokumenRepository.findByFilenameAndIsDeleteFalse(input.getFilename()); if (drpPengadaanDokumenOptional.isPresent()) { drpPengadaanDokumenOptional.get().setIsDelete(true); drpPengadaanDokumenRepository.save(drpPengadaanDokumenOptional.get()); } Path path = Paths.get(pathFileUploadPendukung + input.getFilename()); try { Files.delete(path); } catch (IOException e) { log.info("no file found"); } return new EmptyResponse(); } }