dev email send when tokens not found
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-03-31 14:43:34 +07:00
parent d7874aa37a
commit 69e758a710
3 changed files with 13 additions and 4 deletions
@@ -17,6 +17,7 @@ import ru.soune.nocopy.entity.file.ImageHashEntity;
import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.exception.DuplicateImageException;
import ru.soune.nocopy.repository.*;
import ru.soune.nocopy.service.file.cloud.CloudStorageService;
import ru.soune.nocopy.util.FileUtil;
import java.io.File;
@@ -41,6 +42,8 @@ public class FileSimilarityService {
private final FileEntityRepository fileEntityRepository;
private final CloudStorageService cloudStorageService;
@Value("${server.baseurl}")
private String baseUrl;
@@ -198,8 +201,9 @@ public class FileSimilarityService {
private String calculateFileHash(String path) throws Exception {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
File file = cloudStorageService.readFileFromStorageByPath(path);
try (InputStream is = new FileInputStream(path)) {
try (InputStream is = new FileInputStream(file)) {
byte[] buffer = new byte[8192];
int read;
while ((read = is.read(buffer)) > 0) {
@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
import ru.soune.nocopy.entity.file.FileEntity;
import ru.soune.nocopy.entity.file.ImageHashEntity;
import ru.soune.nocopy.repository.ImageHashRepository;
import ru.soune.nocopy.service.file.cloud.CloudStorageService;
import java.io.File;
import java.io.IOException;
@@ -22,8 +23,10 @@ public class ImageHashService {
private final ImageHashRepository repository;
private final CloudStorageService cloudStorageService;
public Map<String, Long> calculateHash(Path imagePath) throws IOException {
File file = imagePath.toFile();
File file = cloudStorageService.readFileFromStorageByPath(imagePath.toString());
PHash pHash = PerceptualHashHelper.INSTANCE.generateDCTPerceptualHash(file);
@@ -333,7 +333,8 @@ public class FileUploadServiceImpl implements FileUploadService {
fileSimilarityService.hasDuplicatesByHash(finalFilePath ,session.getFileType(),
session.getUserId());
File file = new File(finalFilePath);
// File file = new File(finalFilePath);
File file = cloudStorageService.readFileFromStorageByPath(finalFilePath);
if (session.getFileType().startsWith("audio") && !isWavFile(file)) {
session.setStatus(UploadStatus.FAILED);
@@ -389,7 +390,7 @@ public class FileUploadServiceImpl implements FileUploadService {
fileEntity.getFilePath());
if (status != FileStatus.TEMP) {
FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity);
FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity, session.getConvertTo());
noCopyFileService.addFile(fileInfo);
}
@@ -532,6 +533,7 @@ public class FileUploadServiceImpl implements FileUploadService {
private void checkForDuplicatesSynchronously(String filePath)
throws IOException , DuplicateImageException {
Path path = Paths.get(filePath);
Map<String, Long> hash = imageHashService.calculateHash(path);
List<SimilarImageProjection> duplicates = fileSimilarityService.findDuplicatedByHash(