Skip to content

Commit 070cb4b

Browse files
authored
Merge pull request #231 from TaskFlow-CLAP/CLAP-220
CLAP-220 구현한 api 전체적으로 수정 작업 진행
2 parents 7b0ef5a + f63bfd3 commit 070cb4b

35 files changed

+178
-106
lines changed

src/main/java/clap/server/adapter/inbound/web/admin/FindLabelAdminController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import clap.server.adapter.inbound.security.SecurityUserDetails;
44
import clap.server.adapter.inbound.web.dto.common.SliceResponse;
55
import clap.server.adapter.inbound.web.dto.label.FindLabelListResponse;
6+
import clap.server.application.port.inbound.label.FindLabelListAdminUsecase;
67
import clap.server.application.port.inbound.label.FindLabelListUsecase;
78
import clap.server.common.annotation.architecture.WebAdapter;
89
import io.swagger.v3.oas.annotations.Operation;
@@ -22,13 +23,13 @@
2223
@RequestMapping("/api/managements/labels")
2324
public class FindLabelAdminController {
2425

25-
private final FindLabelListUsecase findLabelListUsecase;
26+
private final FindLabelListAdminUsecase findLabelListAdminUsecase;
2627

2728
@Operation(summary = "구분 목록 조회 API")
2829
@Secured({"ROLE_ADMIN"})
2930
@GetMapping
3031
public ResponseEntity<List<FindLabelListResponse>> findLabelList(
3132
@AuthenticationPrincipal SecurityUserDetails userInfo) {
32-
return ResponseEntity.ok(findLabelListUsecase.findLabelListAdmin(userInfo.getUserId()));
33+
return ResponseEntity.ok(findLabelListAdminUsecase.findLabelListAdmin(userInfo.getUserId()));
3334
}
3435
}

src/main/java/clap/server/adapter/inbound/web/admin/ManagementLabelController.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package clap.server.adapter.inbound.web.admin;
22

33
import clap.server.adapter.inbound.security.SecurityUserDetails;
4-
import clap.server.adapter.inbound.web.dto.label.AddAndEditLabelRequest;
5-
import clap.server.application.port.inbound.admin.AddLabelUsecase;
4+
import clap.server.adapter.inbound.web.dto.label.CreateLabelRequest;
5+
import clap.server.adapter.inbound.web.dto.label.EditLabelRequest;
6+
import clap.server.application.port.inbound.label.AddLabelUsecase;
67
import clap.server.application.port.inbound.admin.DeleteLabelUsecase;
7-
import clap.server.application.port.inbound.admin.UpdateLabelUsecase;
8+
import clap.server.application.port.inbound.label.UpdateLabelUsecase;
89
import clap.server.common.annotation.architecture.WebAdapter;
910
import io.swagger.v3.oas.annotations.Operation;
1011
import io.swagger.v3.oas.annotations.Parameter;
1112
import io.swagger.v3.oas.annotations.enums.ParameterIn;
1213
import io.swagger.v3.oas.annotations.tags.Tag;
14+
import jakarta.validation.Valid;
1315
import lombok.RequiredArgsConstructor;
1416
import org.springframework.security.access.annotation.Secured;
1517
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@@ -29,7 +31,7 @@ public class ManagementLabelController {
2931
@PostMapping
3032
@Secured({"ROLE_ADMIN"})
3133
public void addLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
32-
@RequestBody AddAndEditLabelRequest request) {
34+
@Valid @RequestBody CreateLabelRequest request) {
3335
addLabelUsecase.addLabel(userInfo.getUserId(), request);
3436
}
3537

@@ -39,7 +41,7 @@ public void addLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
3941
@Secured({"ROLE_ADMIN"})
4042
public void updateLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
4143
@PathVariable Long labelId,
42-
@RequestBody AddAndEditLabelRequest request) {
44+
@Valid @RequestBody EditLabelRequest request) {
4345
updateLabelUsecase.editLabel(userInfo.getUserId(), labelId, request);
4446

4547
}

src/main/java/clap/server/adapter/inbound/web/comment/CommandCommentController.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package clap.server.adapter.inbound.web.comment;
22

33
import clap.server.adapter.inbound.security.SecurityUserDetails;
4-
import clap.server.adapter.inbound.web.dto.task.PostAndEditCommentRequest;
5-
import clap.server.application.port.inbound.comment.CommandCommentUsecase;
4+
import clap.server.adapter.inbound.web.dto.comment.EditCommentRequest;
5+
import clap.server.application.port.inbound.comment.DeleteCommentUsecase;
6+
import clap.server.application.port.inbound.comment.EditCommentUsecase;
67
import clap.server.common.annotation.architecture.WebAdapter;
78
import io.swagger.v3.oas.annotations.Operation;
89
import io.swagger.v3.oas.annotations.Parameter;
910
import io.swagger.v3.oas.annotations.enums.ParameterIn;
1011
import io.swagger.v3.oas.annotations.tags.Tag;
12+
import jakarta.validation.Valid;
1113
import lombok.RequiredArgsConstructor;
1214
import org.springframework.security.access.annotation.Secured;
1315
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@@ -20,7 +22,8 @@
2022
@RequestMapping("/api/comment")
2123
public class CommandCommentController {
2224

23-
private final CommandCommentUsecase commandCommentUsecase;
25+
private final EditCommentUsecase editCommentUsecase;
26+
private final DeleteCommentUsecase deleteCommentUsecase;
2427

2528
@Operation(summary = "댓글 수정")
2629
@Parameter(name = "commentId", description = "수정할 댓글 고유 ID", required = true, in = ParameterIn.PATH)
@@ -29,8 +32,8 @@ public class CommandCommentController {
2932
public void editComment(
3033
@AuthenticationPrincipal SecurityUserDetails userInfo,
3134
@PathVariable Long commentId,
32-
@RequestBody PostAndEditCommentRequest request) {
33-
commandCommentUsecase.updateComment(userInfo.getUserId(), commentId, request);
35+
@Valid @RequestBody EditCommentRequest request) {
36+
editCommentUsecase.editComment(userInfo.getUserId(), commentId, request);
3437
}
3538

3639
@Operation(summary = "댓글 삭제", description = "첨부파일 댓글일 경우 request body에 삭제할 파일 ID를 리스트로 전달")
@@ -40,7 +43,7 @@ public void editComment(
4043
public void deleteComment(
4144
@AuthenticationPrincipal SecurityUserDetails userInfo,
4245
@PathVariable Long commentId) {
43-
commandCommentUsecase.deleteComment(userInfo.getUserId(), commentId);
46+
deleteCommentUsecase.deleteComment(userInfo.getUserId(), commentId);
4447
}
4548

4649
}
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
package clap.server.adapter.inbound.web.comment;
22

33
import clap.server.adapter.inbound.security.SecurityUserDetails;
4-
import clap.server.adapter.inbound.web.dto.task.PostAndEditCommentRequest;
5-
import clap.server.application.port.inbound.comment.PostCommentUsecase;
4+
import clap.server.adapter.inbound.web.dto.comment.CreateCommentRequest;
5+
import clap.server.application.port.inbound.comment.SaveCommentAttachmentUsecase;
6+
import clap.server.application.port.inbound.comment.SaveCommentUsecase;
67
import clap.server.common.annotation.architecture.WebAdapter;
78
import io.swagger.v3.oas.annotations.Operation;
89
import io.swagger.v3.oas.annotations.Parameter;
910
import io.swagger.v3.oas.annotations.enums.ParameterIn;
1011
import io.swagger.v3.oas.annotations.tags.Tag;
12+
import jakarta.validation.Valid;
1113
import jakarta.validation.constraints.NotNull;
1214
import lombok.RequiredArgsConstructor;
1315
import org.springframework.security.access.annotation.Secured;
1416
import org.springframework.security.core.annotation.AuthenticationPrincipal;
1517
import org.springframework.web.bind.annotation.*;
1618
import org.springframework.web.multipart.MultipartFile;
1719

18-
import java.util.List;
19-
2020
@Tag(name = "02. Task [생성/수정]", description = "작업 생성/수정 API")
2121
@WebAdapter
2222
@RestController
2323
@RequiredArgsConstructor
2424
@RequestMapping("/api/comment")
2525
public class PostCommentController {
2626

27-
private final PostCommentUsecase postCommentUsecase;
27+
private final SaveCommentUsecase saveCommentUsecase;
28+
private final SaveCommentAttachmentUsecase saveCommentAttachmentUsecase;
2829

2930
@Operation(summary = "댓글 작성")
3031
@Parameter(name = "taskId", description = "댓글 작성할 작업 고유 ID", required = true, in = ParameterIn.PATH)
@@ -33,8 +34,8 @@ public class PostCommentController {
3334
public void createComment(
3435
@AuthenticationPrincipal SecurityUserDetails userInfo,
3536
@PathVariable Long taskId,
36-
@RequestBody(required = true) PostAndEditCommentRequest request){
37-
postCommentUsecase.save(userInfo.getUserId(), taskId, request);
37+
@Valid @RequestBody CreateCommentRequest request){
38+
saveCommentUsecase.save(userInfo.getUserId(), taskId, request);
3839
}
3940

4041
@Operation(summary = "댓글 작성(첨부 파일)")
@@ -45,7 +46,7 @@ public void createAttachmentComment(
4546
@AuthenticationPrincipal SecurityUserDetails userInfo,
4647
@PathVariable Long taskId,
4748
@RequestPart(name = "attachment") @NotNull MultipartFile attachment) {
48-
postCommentUsecase.saveCommentAttachment(userInfo.getUserId(), taskId, attachment);
49+
saveCommentAttachmentUsecase.saveCommentAttachment(userInfo.getUserId(), taskId, attachment);
4950
}
5051

5152
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package clap.server.adapter.inbound.web.dto.comment;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import jakarta.validation.constraints.NotBlank;
5+
6+
public record CreateCommentRequest(
7+
@Schema(description = "댓글 내용")
8+
@NotBlank
9+
String content
10+
) {
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package clap.server.adapter.inbound.web.dto.comment;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import jakarta.validation.constraints.NotBlank;
5+
6+
public record EditCommentRequest(
7+
@Schema(description = "댓글 내용")
8+
@NotBlank
9+
String content
10+
) {
11+
}

src/main/java/clap/server/adapter/inbound/web/dto/label/AddAndEditLabelRequest.java renamed to src/main/java/clap/server/adapter/inbound/web/dto/label/CreateLabelRequest.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package clap.server.adapter.inbound.web.dto.label;
22

3-
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
43
import clap.server.adapter.outbound.persistense.entity.task.constant.LabelColor;
54
import io.swagger.v3.oas.annotations.media.Schema;
5+
import jakarta.validation.constraints.NotBlank;
66

7-
public record AddAndEditLabelRequest(
7+
public record CreateLabelRequest(
88

99
@Schema(description = "구분(label) 이름")
10+
@NotBlank
1011
String labelName,
12+
1113
@Schema(description = "구분(label) 색상")
14+
@NotBlank
1215
LabelColor labelColor
13-
) {}
16+
) {
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package clap.server.adapter.inbound.web.dto.label;
2+
3+
import clap.server.adapter.outbound.persistense.entity.task.constant.LabelColor;
4+
import io.swagger.v3.oas.annotations.media.Schema;
5+
import jakarta.validation.constraints.NotBlank;
6+
7+
public record EditLabelRequest(
8+
9+
@Schema(description = "구분(label) 이름")
10+
@NotBlank
11+
String labelName,
12+
13+
@Schema(description = "구분(label) 색상")
14+
@NotBlank
15+
LabelColor labelColor
16+
) {
17+
}

src/main/java/clap/server/adapter/inbound/web/dto/task/PostAndEditCommentRequest.java

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package clap.server.adapter.inbound.web.dto.task;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import jakarta.validation.constraints.NotBlank;
5+
36
public record UpdateTaskLabelRequest(
7+
8+
@Schema(description = "변경할 구분 고유 ID", example = "1")
9+
@NotBlank
410
Long labelId
511
) {
612
}

0 commit comments

Comments
 (0)