diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java index bc080c0..1967dc7 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java @@ -5,6 +5,7 @@ import com.vrt.fileprotection.FileProtector; import com.vrt.fileprotection.NoCopyCheckResult; import com.vrt.fileprotection.audio.AudioCheckResult; import com.vrt.fileprotection.documents.DocumentCheckResult; +import com.vrt.fileprotection.image.ImageCheckResult; import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -318,15 +319,19 @@ public class FileUploadServiceImpl implements FileUploadService { String finalFilePath = assembleFileSynchronously(session); if (findSimilar == 0) { - if (session.getFileType().startsWith("image")) { - checkForDuplicatesSynchronously(finalFilePath); - } else if (session.getFileType().startsWith("audio") || session.getFileType().startsWith("document")) { - fileSimilarityService.hasDuplicatesByHash(finalFilePath, session.getUserId(), - session.getFileType()); +// if (session.getFileType().startsWith("image")) { +// checkForDuplicatesSynchronously(finalFilePath); +// } else if (session.getFileType().startsWith("audio") || session.getFileType().startsWith("document")) { + if (session.getFileType().startsWith("image")) { + checkForDuplicatesSynchronously(finalFilePath); + } else { + fileSimilarityService.hasDuplicatesByHash(finalFilePath, session.getUserId(), + session.getFileType()); + } File file = new File(finalFilePath); FileProtector.Type type = "document".equals(session.getFileType()) ? - FileProtector.Type.DOC : FileProtector.Type.AUDIO; + FileProtector.Type.DOC : FileProtector.Type.valueOf(session.getFileType()); NoCopyCheckResult checkResult = noCopyFileService.checkFile(file, type); @@ -336,6 +341,11 @@ public class FileUploadServiceImpl implements FileUploadService { throw new DuplicateImageException("Duplicate", info.getId(), Long.valueOf(info.getOwnerId())); } + case ImageCheckResult.Success success -> { + FileProtector.FileInfo info = success.getInfo(); + throw new DuplicateImageException("Duplicate", info.getId(), + Long.valueOf(info.getOwnerId())); + } case AudioCheckResult.Success success -> { FileProtector.FileInfo info = success.getInfo(); throw new DuplicateImageException("Duplicate", info.getId(), @@ -345,9 +355,11 @@ public class FileUploadServiceImpl implements FileUploadService { log.warn("Document check failed: {}", failed.getMessage()); case AudioCheckResult.Failed failed -> log.warn("Audio check failed: {}", failed.getMessage()); + case ImageCheckResult.Failed failed -> + log.warn("ImageCheckResult check failed: {}", failed.getMessage()); default -> log.warn("Unexpected result type: {}", checkResult.getClass().getSimpleName()); } - } +// } } session.setStatus(UploadStatus.COMPLETED);