Files
smartproc-be/src/main/java/com/iconplus/smartproc/service/drppengadaan/DeleteDokumenPendukungService.java
dirgantarasiahaan 6deddb3f15 refactor
2023-05-31 14:00:28 +07:00

47 lines
1.7 KiB
Java

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<DrpPengadaanDokumenRequest, EmptyResponse> {
@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();
}
}