From 3a477bc2ae875916f73c3cc6033bf43f450981ee Mon Sep 17 00:00:00 2001 From: vladp Date: Thu, 12 Mar 2026 15:46:37 +0700 Subject: [PATCH] dev add vio --- .../controller/GlobalSearchController.java | 20 +++++++++++++++++++ .../GlobalSearchTaskRepository.java | 2 ++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/ru/soune/nocopy/controller/GlobalSearchController.java b/src/main/java/ru/soune/nocopy/controller/GlobalSearchController.java index 2d8078c..ee9301f 100644 --- a/src/main/java/ru/soune/nocopy/controller/GlobalSearchController.java +++ b/src/main/java/ru/soune/nocopy/controller/GlobalSearchController.java @@ -63,6 +63,26 @@ public class GlobalSearchController { return ResponseEntity.ok(response); } + @GetMapping("/actual-task") + public ResponseEntity getStatus(@RequestHeader(value = "Authorization", required = false) String tokenHeader) { + + if (tokenHeader == null || tokenHeader.isBlank()) { + Map errorData = new HashMap<>(); + errorData.put("token", tokenHeader); + + return ResponseEntity.ok().body(Map.of("error", errorData)); + } + + Long userId = authService.useUserAuthToken(tokenHeader); + + Optional taskOptional = searchTaskRepository.findByUserIdAndStatus(userId, + "PROCESSING"); + + if (taskOptional.isEmpty()) return ResponseEntity.ok().body("Task not found"); + + return ResponseEntity.ok(taskOptional.get()); + } + @GetMapping("/status/{taskId}") public ResponseEntity getStatus(@PathVariable String taskId, @RequestHeader(value = "Authorization", required = false) String tokenHeader) { diff --git a/src/main/java/ru/soune/nocopy/repository/GlobalSearchTaskRepository.java b/src/main/java/ru/soune/nocopy/repository/GlobalSearchTaskRepository.java index e969384..d95ff45 100644 --- a/src/main/java/ru/soune/nocopy/repository/GlobalSearchTaskRepository.java +++ b/src/main/java/ru/soune/nocopy/repository/GlobalSearchTaskRepository.java @@ -14,6 +14,8 @@ import java.util.Optional; public interface GlobalSearchTaskRepository extends JpaRepository { Optional findByTaskIdAndUserId(String taskId, Long userId); + Optional findByUserIdAndStatus(Long userId, String status); + List findByUserIdOrderByCreatedAtDesc(Long userId); List findByUserIdAndCreatedAtAfterOrderByCreatedAtDesc(Long userId, LocalDateTime date);