dev add stats for search check
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-02-05 18:55:54 +07:00
parent adc978bea8
commit f90b8a0bce
15 changed files with 261 additions and 53 deletions
@@ -5,10 +5,7 @@ import com.vrt.fileprotection.FileProtector;
import com.vrt.fileprotection.NoCopyCheckResult;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.web.PageableDefault;
@@ -32,6 +29,7 @@ import ru.soune.nocopy.exception.*;
import ru.soune.nocopy.handler.*;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.service.FileSimilarityService;
import ru.soune.nocopy.service.file.ProtectionsLimitService;
import ru.soune.nocopy.service.register.AuthService;
import ru.soune.nocopy.service.file.FileEntityService;
import ru.soune.nocopy.service.file.FileUploadService;
@@ -69,6 +67,8 @@ public class ApiController {
private final FileUtil fileUtil;
private final ProtectionsLimitService protectionsLimitService;
@PostMapping("/v{version}/data")
public ResponseEntity<?> handlePostRequest(@RequestBody BaseRequest request,
@PathVariable("version") int version) {
@@ -422,6 +422,13 @@ public class ApiController {
return ResponseEntity.ok().body(noCopyCheckResult);
}
@GetMapping("/check/file_stats/{userId}")
public ResponseEntity<?> checkFileProtectStats(@PathVariable(required = false) Long userId) {
Map<String, Object> fileTypeStats = protectionsLimitService.getFileTypeStats(userId);
return ResponseEntity.ok().body(fileTypeStats);
}
private boolean hasDuplicate(List<SimilarFileDTO> similarFiles) {
return similarFiles.stream().anyMatch(f -> f.getHammingDistance() <= 5);
}