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