diff --git a/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java b/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java index 73f0b343..cd4a8b44 100644 --- a/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java +++ b/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java @@ -69,6 +69,14 @@ public ResponseEntity> toggleRecruitmentStatus( return ResponseEntity.ok(ApiResponse.onSuccess(response)); } + @Override + @GetMapping("/{postId}/recruitment-status") + public ResponseEntity> getRecruitmentStatus( + @PathVariable Long postId) { + PostStatusResponse response = dashboardService.getRecruitmentStatus(postId); + return ResponseEntity.ok(ApiResponse.onSuccess(response)); + } + @Override @GetMapping("/{postId}/analytics/bar-chart") public ResponseEntity> getBarChartData( diff --git a/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java b/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java index cd93a03e..6d7141c4 100644 --- a/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java +++ b/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java @@ -54,11 +54,25 @@ ResponseEntity>> getRecentReviews( Pageable pageable ); + @Operation( + summary = "모집 상태 조회", + description = """ + 현재 게시글의 모집 상태 조회 + + **PostStatus (게시글 상태):** + - `ACTIVE`: 활성 (모집중) + - `COMPLETED`: 완료 (모집 완료) + """ + ) + ResponseEntity> getRecruitmentStatus( + @PathVariable @Schema(description = "게시글 ID") Long postId + ); + @Operation( summary = "모집 상태 변경", description = """ 모집중 <-> 모집 완료 상태 토글 - + **PostStatus (게시글 상태):** - `ACTIVE`: 활성 (모집중) - `COMPLETED`: 완료 (모집 완료) diff --git a/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java b/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java index 197c7d47..e124f32a 100644 --- a/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java +++ b/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java @@ -152,6 +152,13 @@ public PostStatusResponse toggleRecruitmentStatus(Long postId, Long userId) { return PostStatusResponse.of(postId, newStatus); } + public PostStatusResponse getRecruitmentStatus(Long postId) { + Post post = getPost(postId); + PostStatus postStatus = post.getStatus(); + + return PostStatusResponse.of(postId, postStatus); + } + // 분석 그래프 public BarChartResponse getBarChartData(Long userId, Long postId) { validatePostOwnership(userId, postId);