diff --git a/src/main/java/ru/soune/nocopy/controller/ApiController.java b/src/main/java/ru/soune/nocopy/controller/ApiController.java index de82083..271582b 100644 --- a/src/main/java/ru/soune/nocopy/controller/ApiController.java +++ b/src/main/java/ru/soune/nocopy/controller/ApiController.java @@ -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 fileTypeStats = protectionsLimitService.getFileTypeStats(userId); + @GetMapping("/check/file_stats") + public ResponseEntity checkFileProtectStats(@RequestHeader("Authorization") String tokenHeader) { + String token = tokenHeader.replace("Bearer ", ""); + + Optional tokenOptional = authTokenRepository.findByToken(token); + + AuthToken authToken = tokenOptional.orElseThrow(() -> new NotFoundAuthToken("Token: " + token + "not found")); + + Map fileTypeStats = protectionsLimitService.getFileTypeStats(authToken.getUser().getId()); return ResponseEntity.ok().body(fileTypeStats); }