@@ -254,7 +254,7 @@ public class ApiController {
|
||||
fileId, similarityLevels, pageable, authToken);
|
||||
response = buildSuccessResponse(similarFilesPage, MessageCode.SIMILAR_FILES_FOUND);
|
||||
} else {
|
||||
List<SimilarFileDTO> results = processNonImageFile(fileEntity, authToken);
|
||||
List<SimilarFileDTO> results = processNonImageFile(fileEntity, true);
|
||||
log.info("results: {}", results);
|
||||
response = buildSuccessResponse(results, MessageCode.SIMILAR_FILES_FOUND);
|
||||
checkCounterService.incrementCheckCount(fileEntity.getUserId(), fileEntity.getMimeType());
|
||||
@@ -275,11 +275,11 @@ public class ApiController {
|
||||
}
|
||||
}
|
||||
|
||||
private List<SimilarFileDTO> processNonImageFile(FileEntity fileEntity, String authToken) throws Exception {
|
||||
private List<SimilarFileDTO> processNonImageFile(FileEntity fileEntity, boolean cloud) throws Exception {
|
||||
List<SimilarFileDTO> results = new ArrayList<>();
|
||||
|
||||
FileEntity duplicateByHash = fileSimilarityService.findDuplicateByHash(fileEntity.getFilePath(),
|
||||
fileEntity.getMimeType(), fileEntity.getUserId());
|
||||
fileEntity.getMimeType(), fileEntity.getUserId(), cloud);
|
||||
log.info("duplicateByHash: {}", duplicateByHash);
|
||||
if (duplicateByHash != null) {
|
||||
results.add(fileSimilarityService.buildDTO(duplicateByHash));
|
||||
|
||||
@@ -109,15 +109,15 @@ public class FileSimilarityService {
|
||||
}
|
||||
|
||||
public void hasDuplicatesByHash(String path, String mimeType, Long userId) throws Exception {
|
||||
FileEntity duplicateByHash = findDuplicateByHash(path, mimeType, userId);
|
||||
FileEntity duplicateByHash = findDuplicateByHash(path, mimeType, userId, false);
|
||||
if (duplicateByHash != null) {
|
||||
throw new DuplicateImageException("Duplicate", duplicateByHash.getId(),
|
||||
duplicateByHash.getUserId());
|
||||
}
|
||||
}
|
||||
|
||||
public FileEntity findDuplicateByHash(String path, String mimeType, Long userId) throws Exception {
|
||||
String hash = calculateFileHash(path, false);
|
||||
public FileEntity findDuplicateByHash(String path, String mimeType, Long userId, boolean cloud) throws Exception {
|
||||
String hash = calculateFileHash(path, cloud);
|
||||
|
||||
User user = userRepository.findById(userId).orElseThrow();
|
||||
Company company = user.getCompany();
|
||||
|
||||
Reference in New Issue
Block a user