Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import clap.server.adapter.inbound.security.SecurityUserDetails;
import clap.server.adapter.inbound.web.dto.common.SliceResponse;
import clap.server.adapter.inbound.web.dto.label.FindLabelListResponse;
import clap.server.application.port.inbound.label.FindLabelListAdminUsecase;
import clap.server.application.port.inbound.label.FindLabelListUsecase;
import clap.server.common.annotation.architecture.WebAdapter;
import io.swagger.v3.oas.annotations.Operation;
Expand All @@ -22,13 +23,13 @@
@RequestMapping("/api/managements/labels")
public class FindLabelAdminController {

private final FindLabelListUsecase findLabelListUsecase;
private final FindLabelListAdminUsecase findLabelListAdminUsecase;

@Operation(summary = "구분 목록 조회 API")
@Secured({"ROLE_ADMIN"})
@GetMapping
public ResponseEntity<List<FindLabelListResponse>> findLabelList(
@AuthenticationPrincipal SecurityUserDetails userInfo) {
return ResponseEntity.ok(findLabelListUsecase.findLabelListAdmin(userInfo.getUserId()));
return ResponseEntity.ok(findLabelListAdminUsecase.findLabelListAdmin(userInfo.getUserId()));
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package clap.server.adapter.inbound.web.admin;

import clap.server.adapter.inbound.security.SecurityUserDetails;
import clap.server.adapter.inbound.web.dto.label.AddAndEditLabelRequest;
import clap.server.application.port.inbound.admin.AddLabelUsecase;
import clap.server.adapter.inbound.web.dto.label.CreateLabelRequest;
import clap.server.adapter.inbound.web.dto.label.EditLabelRequest;
import clap.server.application.port.inbound.label.AddLabelUsecase;
import clap.server.application.port.inbound.admin.DeleteLabelUsecase;
import clap.server.application.port.inbound.admin.UpdateLabelUsecase;
import clap.server.application.port.inbound.label.UpdateLabelUsecase;
import clap.server.common.annotation.architecture.WebAdapter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.annotation.Secured;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
Expand All @@ -29,7 +31,7 @@ public class ManagementLabelController {
@PostMapping
@Secured({"ROLE_ADMIN"})
public void addLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
@RequestBody AddAndEditLabelRequest request) {
@Valid @RequestBody CreateLabelRequest request) {
addLabelUsecase.addLabel(userInfo.getUserId(), request);
}

Expand All @@ -39,7 +41,7 @@ public void addLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
@Secured({"ROLE_ADMIN"})
public void updateLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
@PathVariable Long labelId,
@RequestBody AddAndEditLabelRequest request) {
@Valid @RequestBody EditLabelRequest request) {
updateLabelUsecase.editLabel(userInfo.getUserId(), labelId, request);

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package clap.server.adapter.inbound.web.comment;

import clap.server.adapter.inbound.security.SecurityUserDetails;
import clap.server.adapter.inbound.web.dto.task.PostAndEditCommentRequest;
import clap.server.application.port.inbound.comment.CommandCommentUsecase;
import clap.server.adapter.inbound.web.dto.comment.EditCommentRequest;
import clap.server.application.port.inbound.comment.DeleteCommentUsecase;
import clap.server.application.port.inbound.comment.EditCommentUsecase;
import clap.server.common.annotation.architecture.WebAdapter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.annotation.Secured;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
Expand All @@ -20,7 +22,8 @@
@RequestMapping("/api/comment")
public class CommandCommentController {

private final CommandCommentUsecase commandCommentUsecase;
private final EditCommentUsecase editCommentUsecase;
private final DeleteCommentUsecase deleteCommentUsecase;

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

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

}
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
package clap.server.adapter.inbound.web.comment;

import clap.server.adapter.inbound.security.SecurityUserDetails;
import clap.server.adapter.inbound.web.dto.task.PostAndEditCommentRequest;
import clap.server.application.port.inbound.comment.PostCommentUsecase;
import clap.server.adapter.inbound.web.dto.comment.CreateCommentRequest;
import clap.server.application.port.inbound.comment.SaveCommentAttachmentUsecase;
import clap.server.application.port.inbound.comment.SaveCommentUsecase;
import clap.server.common.annotation.architecture.WebAdapter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.annotation.Secured;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

@Tag(name = "02. Task [생성/수정]", description = "작업 생성/수정 API")
@WebAdapter
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/comment")
public class PostCommentController {

private final PostCommentUsecase postCommentUsecase;
private final SaveCommentUsecase saveCommentUsecase;
private final SaveCommentAttachmentUsecase saveCommentAttachmentUsecase;

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

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

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package clap.server.adapter.inbound.web.dto.comment;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record CreateCommentRequest(
@Schema(description = "댓글 내용")
@NotBlank
String content
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package clap.server.adapter.inbound.web.dto.comment;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record EditCommentRequest(
@Schema(description = "댓글 내용")
@NotBlank
String content
) {
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package clap.server.adapter.inbound.web.dto.label;

import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
import clap.server.adapter.outbound.persistense.entity.task.constant.LabelColor;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record AddAndEditLabelRequest(
public record CreateLabelRequest(

@Schema(description = "구분(label) 이름")
@NotBlank
String labelName,

@Schema(description = "구분(label) 색상")
@NotBlank
LabelColor labelColor
) {}
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package clap.server.adapter.inbound.web.dto.label;

import clap.server.adapter.outbound.persistense.entity.task.constant.LabelColor;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record EditLabelRequest(

@Schema(description = "구분(label) 이름")
@NotBlank
String labelName,

@Schema(description = "구분(label) 색상")
@NotBlank
LabelColor labelColor
) {
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
package clap.server.adapter.inbound.web.dto.task;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record UpdateTaskLabelRequest(

@Schema(description = "변경할 구분 고유 ID", example = "1")
@NotBlank
Long labelId
) {
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
package clap.server.adapter.inbound.web.dto.task;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record UpdateTaskProcessorRequest(

@Schema(description = "변경할 담당자 고유 ID", example = "1")
@NotBlank
Long processorId
) {
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package clap.server.adapter.inbound.web.notification;

import clap.server.adapter.inbound.security.SecurityUserDetails;
import clap.server.application.port.inbound.notification.EnableAgitUsecase;
import clap.server.application.port.inbound.notification.EnableEmailUsecase;
import clap.server.application.port.inbound.notification.EnableKakaoUsecase;
import clap.server.application.port.inbound.notification.UpdateNotificationUsecase;
import clap.server.application.port.inbound.notification.*;
import clap.server.common.annotation.architecture.WebAdapter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
Expand All @@ -25,6 +22,7 @@
public class ManagementNotificationController {

private final UpdateNotificationUsecase updateNotificationUsecase;
private final UpdateAllNotificationUsecase updateAllNotificationUsecase;
private final EnableKakaoUsecase enableKakaoUsecase;
private final EnableAgitUsecase enableAgitUsecase;
private final EnableEmailUsecase enableEmailUsecase;
Expand All @@ -40,7 +38,7 @@ public void updateNotificationIsRead(@AuthenticationPrincipal SecurityUserDetail
@Operation(summary = "알림 목록에서 전체 읽음 버튼을 눌렀을 때 전체 읽음 처리")
@PatchMapping
public void updateAllNotificationIsRead(@AuthenticationPrincipal SecurityUserDetails userInfo) {
updateNotificationUsecase.updateAllNotification(userInfo.getUserId());
updateAllNotificationUsecase.updateAllNotification(userInfo.getUserId());
}

@Operation(summary = "카카오 푸시 알림 활성화/비활성화 API", description = "알림 거부였을 시 -> 승인으로 변경, 알림 승인이였을 시 -> 거부로 변경")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public ResponseEntity<UpdateTaskResponse> updateTaskState(
public ResponseEntity<UpdateTaskResponse> updateTaskProcessor(
@PathVariable Long taskId,
@AuthenticationPrincipal SecurityUserDetails userInfo,
@RequestBody UpdateTaskProcessorRequest updateTaskProcessorRequest) {
@Valid @RequestBody UpdateTaskProcessorRequest updateTaskProcessorRequest) {
return ResponseEntity.ok(updateTaskProcessorUsecase.updateTaskProcessor(taskId, userInfo.getUserId(), updateTaskProcessorRequest));
}

Expand All @@ -57,7 +57,7 @@ public ResponseEntity<UpdateTaskResponse> updateTaskProcessor(
public ResponseEntity<UpdateTaskResponse> updateTaskLabel(
@PathVariable Long taskId,
@AuthenticationPrincipal SecurityUserDetails userInfo,
@RequestBody UpdateTaskLabelRequest updateTaskLabelRequest) {
@Valid @RequestBody UpdateTaskLabelRequest updateTaskLabelRequest) {
return ResponseEntity.ok(updateTaskLabelUsecase.updateTaskLabel(taskId, userInfo.getUserId(), updateTaskLabelRequest));
}

Expand All @@ -67,7 +67,7 @@ public ResponseEntity<UpdateTaskResponse> updateTaskLabel(
public ResponseEntity<ApprovalTaskResponse> approvalTask(
@RequestBody @Valid ApprovalTaskRequest approvalTaskRequest,
@PathVariable Long taskId,
@AuthenticationPrincipal SecurityUserDetails userInfo){
@Valid @AuthenticationPrincipal SecurityUserDetails userInfo){
return ResponseEntity.ok(approvalTaskUsecase.approvalTaskByReviewer(userInfo.getUserId(), taskId, approvalTaskRequest));
}
}

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package clap.server.application.port.inbound.comment;

public interface DeleteCommentUsecase {

void deleteComment(Long userId, Long commentId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package clap.server.application.port.inbound.comment;

import clap.server.adapter.inbound.web.dto.comment.EditCommentRequest;

public interface EditCommentUsecase {

void editComment(Long userId, Long commentId, EditCommentRequest request);
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package clap.server.application.port.inbound.comment;

import org.springframework.web.multipart.MultipartFile;

public interface SaveCommentAttachmentUsecase {

void saveCommentAttachment(Long userId, Long taskId, MultipartFile file);
}
Loading