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