Skip to content

Commit

Permalink
Merge pull request #100 from Team-UMC/refactor/#95/board-refactoring
Browse files Browse the repository at this point in the history
[REFACTOR] Board API ๋ฆฌํŒฉํ† ๋ง ๋ฐ ์ˆ˜์ •
  • Loading branch information
tnals2384 authored Apr 27, 2024
2 parents 6356006 + ef373da commit 1ecc85f
Show file tree
Hide file tree
Showing 30 changed files with 985 additions and 793 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

import com.umc.networkingService.config.security.auth.CurrentMember;
import com.umc.networkingService.domain.board.dto.request.BoardCommentRequest;
import com.umc.networkingService.domain.board.dto.response.BoardCommentResponse;
import com.umc.networkingService.domain.board.dto.response.MyBoardResponse;
import com.umc.networkingService.domain.board.dto.response.BoardCommentResponse.*;
import com.umc.networkingService.domain.board.entity.BoardType;
import com.umc.networkingService.domain.board.entity.HostType;
import com.umc.networkingService.domain.board.service.BoardCommentService;
Expand All @@ -24,6 +23,9 @@

import java.util.UUID;

import static com.umc.networkingService.domain.board.dto.response.BoardCommentResponse.*;
import static com.umc.networkingService.domain.board.dto.response.BoardResponse.*;

@Tag(name = "๊ฒŒ์‹œํŒ ๋Œ“๊ธ€ API", description = "๊ฒŒ์‹œํŒ ๋Œ“๊ธ€ ๊ด€๋ จ API")
@RestController
@RequiredArgsConstructor
Expand All @@ -32,15 +34,17 @@ public class BoardCommentController {

private final BoardCommentService boardCommentService;

@Operation(summary = "๋Œ“๊ธ€ ์ž‘์„ฑ API", description = "๋Œ“๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.")
@Operation(summary = "๋Œ“๊ธ€ ์ž‘์„ฑ API", description = "๋Œ“๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” API์ž…๋‹ˆ๋‹ค. + ๋Œ€๋Œ“๊ธ€์ผ ๊ฒฝ์šฐ, ๋ถ€๋ชจ ๋Œ“๊ธ€์˜ commentId๋ฅผ param์œผ๋กœ ์ฃผ์„ธ์š”")
@ApiResponses(value = {
@ApiResponse(responseCode = "COMMON200", description = "์„ฑ๊ณต"),
@ApiResponse(responseCode = "BOARD002", description = "๊ฒŒ์‹œ๊ธ€์„ ์ฐพ์„ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ")
@ApiResponse(responseCode = "BOARD002", description = "๊ฒŒ์‹œ๊ธ€์„ ์ฐพ์„ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ"),
@ApiResponse(responseCode = "COMMENT001", description = "๋Œ“๊ธ€์„ ์ฐพ์„ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ")
})
@PostMapping
public BaseResponse<BoardCommentResponse.BoardCommentId> addBoardComment(@CurrentMember Member member,
@Valid @RequestBody BoardCommentRequest.BoardCommentAddRequest request) {
return BaseResponse.onSuccess(boardCommentService.addBoardComment(member, request));
public BaseResponse<BoardCommentId> addBoardComment(@CurrentMember Member member,
@RequestParam(required = false) UUID commentId,
@Valid @RequestBody BoardCommentRequest.BoardCommentAddRequest request) {
return BaseResponse.onSuccess(boardCommentService.addBoardComment(member, commentId, request));
}

@Operation(summary = "๋Œ“๊ธ€ ์ˆ˜์ • API", description = "๋Œ“๊ธ€์„ ์ˆ˜์ •ํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.")
Expand All @@ -51,9 +55,9 @@ public BaseResponse<BoardCommentResponse.BoardCommentId> addBoardComment(@Curren

})
@PatchMapping("/{commentId}")
public BaseResponse<BoardCommentResponse.BoardCommentId> updateBoardComment(@CurrentMember Member member,
@PathVariable(value = "commentId") UUID commentId,
@Valid @RequestBody BoardCommentRequest.BoardCommentUpdateRequest request) {
public BaseResponse<BoardCommentId> updateBoardComment(@CurrentMember Member member,
@PathVariable(value = "commentId") UUID commentId,
@Valid @RequestBody BoardCommentRequest.BoardCommentUpdateRequest request) {
return BaseResponse.onSuccess(boardCommentService.updateBoardComment(member, commentId, request));
}

Expand All @@ -65,8 +69,8 @@ public BaseResponse<BoardCommentResponse.BoardCommentId> updateBoardComment(@Cur
@ApiResponse(responseCode = "COMMENT002", description = "๋Œ“๊ธ€ ์‚ญ์ œ ๊ถŒํ•œ์ด ์—†์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ")
})
@DeleteMapping("/{commentId}")
public BaseResponse<BoardCommentResponse.BoardCommentId> deleteBoardComment(@CurrentMember Member member,
@PathVariable(value = "commentId") UUID commentId) {
public BaseResponse<BoardCommentId> deleteBoardComment(@CurrentMember Member member,
@PathVariable(value = "commentId") UUID commentId) {
return BaseResponse.onSuccess(boardCommentService.deleteBoardComment(member, commentId));
}

Expand All @@ -78,14 +82,28 @@ public BaseResponse<BoardCommentResponse.BoardCommentId> deleteBoardComment(@Cur
@Parameters(value = {
@Parameter(name = "page", description = " page ์‹œ์ž‘์€ 0๋ฒˆ๋ถ€ํ„ฐ, ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค.")
})
@GetMapping(value = "/{boardId}")
public BaseResponse<BoardCommentResponse.BoardCommentPageInfos> showBoardComments(@CurrentMember Member member,
@PathVariable(value = "boardId") UUID boardId,
@PageableDefault(sort = "created_at", direction = Sort.Direction.ASC)
@GetMapping( "/{boardId}")
public BaseResponse<BoardCommentPageInfos<BoardCommentPageElement>> showBoardComments(@CurrentMember Member member,
@PathVariable(value = "boardId") UUID boardId,
@PageableDefault(sort = "created_at", direction = Sort.Direction.ASC)
@Parameter(hidden = true) Pageable pageable) {
return BaseResponse.onSuccess(boardCommentService.showBoardComments(member, boardId, pageable));
}

@Operation(summary = " ํŠน์ • ๋Œ“๊ธ€์˜ ๋Œ€๋Œ“๊ธ€ ์กฐํšŒ API", description = "ํŠน์ • ๋Œ“๊ธ€์˜ ๋Œ€๋Œ“๊ธ€ ๋ชฉ๋ก์„ createdAt ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.")
@ApiResponses(value = {
@ApiResponse(responseCode = "COMMON200", description = "์„ฑ๊ณต"),
@ApiResponse(responseCode = "COMMENT001", description = "๋Œ“๊ธ€์„ ์ฐพ์„ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ"),
@ApiResponse(responseCode = "COMMENT003", description = "๋Œ“๊ธ€์˜ ๋Œ€๋Œ“๊ธ€์ด ์—†์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ")

})
@GetMapping( "/children/{commentId}")
public BaseResponse<BoardCommentChildrenInfos> showChildrenComments(@CurrentMember Member member,
@PathVariable(value = "commentId") UUID commentId) {
return BaseResponse.onSuccess(boardCommentService.showChildrenComments(member, commentId));
}


@Operation(summary = "[APP] ๋‚ด๊ฐ€ ๋Œ“๊ธ€ ์“ด ๊ธ€ ์กฐํšŒ/๊ฒ€์ƒ‰ API", description = "APP์šฉ ๋‚ด๊ฐ€ ๋Œ“๊ธ€ ์“ด ๊ธ€์„ ์กฐํšŒ/๊ฒ€์ƒ‰ํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.")
@ApiResponses(value = {
@ApiResponse(responseCode = "COMMON200", description = "์„ฑ๊ณต"),
Expand All @@ -94,10 +112,10 @@ public BaseResponse<BoardCommentResponse.BoardCommentPageInfos> showBoardComment
@Parameter(name = "keyword", description = "keyword๋ฅผ ์ฃผ์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ๋‚ด๊ฐ€ ๋Œ“๊ธ€ ์“ด ๊ธ€์ด ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค. keyword๋ฅผ ์ฃผ๋ฉด ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค."),
@Parameter(name = "page", description = "page ์‹œ์ž‘์€ 0๋ฒˆ๋ถ€ํ„ฐ, ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค.")
})
@GetMapping(value = "/member/comments/app")
public BaseResponse<MyBoardResponse.MyBoardPageInfos> showBoardsByMemberCommentsForApp(@CurrentMember Member member,
@RequestParam(name = "keyword", required = false) String keyword,
@PageableDefault(sort = "created_at", direction = Sort.Direction.DESC)
@GetMapping( "/member/app")
public BaseResponse<BoardPageInfos<MyBoardPageElement>> showBoardsByMemberCommentsForApp(@CurrentMember Member member,
@RequestParam(name = "keyword", required = false) String keyword,
@PageableDefault(sort = "created_at", direction = Sort.Direction.DESC)
@Parameter(hidden = true) Pageable pageable) {
return BaseResponse.onSuccess(boardCommentService.showBoardsByMemberCommentForApp(member, keyword, pageable));
}
Expand All @@ -112,13 +130,15 @@ public BaseResponse<MyBoardResponse.MyBoardPageInfos> showBoardsByMemberComments
@Parameters(value = {
@Parameter(name = "keyword", description = "keyword๋ฅผ ์ฃผ์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ๋‚ด๊ฐ€ ๋Œ“๊ธ€ ์“ด ๊ธ€์ด ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค. keyword๋ฅผ ์ฃผ๋ฉด ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค."),
@Parameter(name = "page", description = "page ์‹œ์ž‘์€ 0๋ฒˆ๋ถ€ํ„ฐ, ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค.")})
@GetMapping(value = "/member/comments/web")
public BaseResponse<MyBoardResponse.MyBoardCommentPageInfos> showBoardsByMemberCommentForWeb(@CurrentMember Member member,
@RequestParam(name = "host") HostType hostType,
@RequestParam(name = "board") BoardType boardType,
@RequestParam(name = "keyword", required = false) String keyword,
@PageableDefault(sort = "created_at", direction = Sort.Direction.DESC)
@GetMapping("/member/web")
public BaseResponse<BoardCommentPageInfos<MyBoardCommentPageElement>> showBoardsByMemberCommentForWeb(@CurrentMember Member member,
@RequestParam(name = "host") HostType hostType,
@RequestParam(name = "board") BoardType boardType,
@RequestParam(name = "keyword", required = false) String keyword,
@PageableDefault(sort = "created_at", direction = Sort.Direction.DESC)
@Parameter(hidden = true) Pageable pageable) {
return BaseResponse.onSuccess(boardCommentService.showBoardsByMemberCommentForWeb(member, hostType, boardType,keyword, pageable));
}


}
Loading

0 comments on commit 1ecc85f

Please sign in to comment.