add api delete dokumen

This commit is contained in:
dirgantarasiahaan
2023-05-31 00:29:40 +07:00
parent 774c3d2138
commit 2c82319b16
6 changed files with 158 additions and 2 deletions

View File

@@ -0,0 +1,49 @@
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<DrpDokumenRequest, EmptyResponse> {
@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();
}
}