dev add stats api
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-02-05 19:02:17 +07:00
parent f90b8a0bce
commit 130fd184b9
@@ -25,8 +25,10 @@ import ru.soune.nocopy.entity.file.FileEntity;
import ru.soune.nocopy.entity.file.FileStatus;
import ru.soune.nocopy.entity.file.ProtectionStatus;
import ru.soune.nocopy.entity.file.UploadStatus;
import ru.soune.nocopy.entity.user.AuthToken;
import ru.soune.nocopy.exception.*;
import ru.soune.nocopy.handler.*;
import ru.soune.nocopy.repository.AuthTokenRepository;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.service.FileSimilarityService;
import ru.soune.nocopy.service.file.ProtectionsLimitService;
@@ -69,6 +71,8 @@ public class ApiController {
private final ProtectionsLimitService protectionsLimitService;
private final AuthTokenRepository authTokenRepository;
@PostMapping("/v{version}/data")
public ResponseEntity<?> handlePostRequest(@RequestBody BaseRequest request,
@PathVariable("version") int version) {
@@ -422,9 +426,15 @@ 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);
@GetMapping("/check/file_stats")
public ResponseEntity<?> checkFileProtectStats(@RequestHeader("Authorization") String tokenHeader) {
String token = tokenHeader.replace("Bearer ", "");
Optional<AuthToken> tokenOptional = authTokenRepository.findByToken(token);
AuthToken authToken = tokenOptional.orElseThrow(() -> new NotFoundAuthToken("Token: " + token + "not found"));
Map<String, Object> fileTypeStats = protectionsLimitService.getFileTypeStats(authToken.getUser().getId());
return ResponseEntity.ok().body(fileTypeStats);
}