From 2fa1ede160f8e160009fc8f68956b09104c8eb32 Mon Sep 17 00:00:00 2001 From: its-sky Date: Sat, 6 Jan 2024 19:59:11 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[Fix]=20#30=20:=20TaskCreateRequestDto=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../objective/dto/request/TaskCreateRequestDto.java | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 src/main/java/org/moonshot/server/domain/objective/dto/request/TaskCreateRequestDto.java diff --git a/src/main/java/org/moonshot/server/domain/objective/dto/request/TaskCreateRequestDto.java b/src/main/java/org/moonshot/server/domain/objective/dto/request/TaskCreateRequestDto.java deleted file mode 100644 index 0642e9f8..00000000 --- a/src/main/java/org/moonshot/server/domain/objective/dto/request/TaskCreateRequestDto.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.moonshot.server.domain.objective.dto.request; - -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; - -public record TaskCreateRequestDto( - @Size(min = 1, max = 30, message = "Task는 30자 이하여야 합니다.") - String title, - @NotNull(message = "KR 순서를 입력해주세요") - short idx -) { -} From 7e74920689b523b7efce6894aefec9b28bdc34c4 Mon Sep 17 00:00:00 2001 From: its-sky Date: Sat, 6 Jan 2024 19:59:39 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[Feat]=20#30=20:=20Task=20POST=20API=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/request/KeyResultCreateRequestInfoDto.java | 2 +- .../exception/KeyResultNumberExceededException.java | 2 +- .../domain/keyResult/repository/KeyResultRepository.java | 6 ++++++ .../domain/objective/dto/request/KRCreateRequestDto.java | 1 + .../server/domain/task/repository/TaskRepository.java | 1 + .../moonshot/server/global/common/response/ErrorType.java | 4 +++- .../moonshot/server/global/common/response/SuccessType.java | 1 + .../org/moonshot/server/global/config/SecurityConfig.java | 1 + 8 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/moonshot/server/domain/keyResult/dto/request/KeyResultCreateRequestInfoDto.java b/src/main/java/org/moonshot/server/domain/keyResult/dto/request/KeyResultCreateRequestInfoDto.java index ed2d78f7..8b59d6d6 100644 --- a/src/main/java/org/moonshot/server/domain/keyResult/dto/request/KeyResultCreateRequestInfoDto.java +++ b/src/main/java/org/moonshot/server/domain/keyResult/dto/request/KeyResultCreateRequestInfoDto.java @@ -5,7 +5,7 @@ import jakarta.validation.constraints.Size; import java.time.LocalDateTime; import java.util.List; -import org.moonshot.server.domain.objective.dto.request.TaskCreateRequestDto; +import org.moonshot.server.domain.task.dto.request.TaskCreateRequestDto; import org.springframework.format.annotation.DateTimeFormat; public record KeyResultCreateRequestInfoDto( diff --git a/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java b/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java index e45ecc5e..b654635f 100644 --- a/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java +++ b/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java @@ -5,6 +5,6 @@ public class KeyResultNumberExceededException extends MoonshotException { public KeyResultNumberExceededException() { - super(ErrorType.KEY_RESULT_NUMBER_EXCEEDED); + super(ErrorType.ACTIVE_KEY_RESULT_NUMBER_EXCEEDED); } } diff --git a/src/main/java/org/moonshot/server/domain/keyResult/repository/KeyResultRepository.java b/src/main/java/org/moonshot/server/domain/keyResult/repository/KeyResultRepository.java index 5dba865c..394f75a8 100644 --- a/src/main/java/org/moonshot/server/domain/keyResult/repository/KeyResultRepository.java +++ b/src/main/java/org/moonshot/server/domain/keyResult/repository/KeyResultRepository.java @@ -1,9 +1,12 @@ package org.moonshot.server.domain.keyresult.repository; import java.util.List; +import java.util.Optional; import org.moonshot.server.domain.keyresult.model.KeyResult; import org.moonshot.server.domain.objective.model.Objective; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; public interface KeyResultRepository extends JpaRepository { @@ -11,4 +14,7 @@ public interface KeyResultRepository extends JpaRepository { List findByIdIn(List ids); List findAllByObjective(Objective objective); + @Query("select kr from KeyResult kr join fetch kr.objective where kr.id = :keyResultId") + Optional findKeyResultAndObjective(@Param("keyResultId") Long keyResultId); + } diff --git a/src/main/java/org/moonshot/server/domain/objective/dto/request/KRCreateRequestDto.java b/src/main/java/org/moonshot/server/domain/objective/dto/request/KRCreateRequestDto.java index 1164bab4..8164c53c 100644 --- a/src/main/java/org/moonshot/server/domain/objective/dto/request/KRCreateRequestDto.java +++ b/src/main/java/org/moonshot/server/domain/objective/dto/request/KRCreateRequestDto.java @@ -5,6 +5,7 @@ import jakarta.validation.constraints.Size; import java.time.LocalDateTime; import java.util.List; +import org.moonshot.server.domain.task.dto.request.TaskCreateRequestDto; import org.springframework.format.annotation.DateTimeFormat; public record KRCreateRequestDto( diff --git a/src/main/java/org/moonshot/server/domain/task/repository/TaskRepository.java b/src/main/java/org/moonshot/server/domain/task/repository/TaskRepository.java index 7688b4ad..d9383c26 100644 --- a/src/main/java/org/moonshot/server/domain/task/repository/TaskRepository.java +++ b/src/main/java/org/moonshot/server/domain/task/repository/TaskRepository.java @@ -8,5 +8,6 @@ public interface TaskRepository extends JpaRepository { List findAllByKeyResult(KeyResult keyResult); + List findAllByKeyResultOrderByIdx(KeyResult keyResult); } diff --git a/src/main/java/org/moonshot/server/global/common/response/ErrorType.java b/src/main/java/org/moonshot/server/global/common/response/ErrorType.java index 3e01a570..62504e27 100644 --- a/src/main/java/org/moonshot/server/global/common/response/ErrorType.java +++ b/src/main/java/org/moonshot/server/global/common/response/ErrorType.java @@ -21,8 +21,10 @@ public enum ErrorType { INVALID_HTTP_METHOD(HttpStatus.BAD_REQUEST, "지원되지 않는 HTTP method 요청입니다."), INVALID_IMAGE_EXTENSION(HttpStatus.BAD_REQUEST, "지원하지 않는 이미지 확장자입니다."), ACTIVE_OBJECTIVE_NUMBER_EXCEEDED(HttpStatus.BAD_REQUEST, "허용된 Objective 개수를 초과하였습니다"), - KEY_RESULT_NUMBER_EXCEEDED(HttpStatus.BAD_REQUEST, "허용된 Objective 개수를 초과하였습니다"), + ACTIVE_KEY_RESULT_NUMBER_EXCEEDED(HttpStatus.BAD_REQUEST, "허용된 Key Result 개수를 초과하였습니다"), + ACTIVE_TASK_NUMBER_EXCEEDED(HttpStatus.BAD_REQUEST, "허용된 Task 개수를 초과하였습니다."), INVALID_KEY_RESULT_ORDER(HttpStatus.BAD_REQUEST, "정상적이지 않은 KeyResult 위치입니다."), + INVALID_TASK_ORDER(HttpStatus.BAD_REQUEST, "정상적이지 않은 Task 위치입니다."), /** * 404 NOT FOUND diff --git a/src/main/java/org/moonshot/server/global/common/response/SuccessType.java b/src/main/java/org/moonshot/server/global/common/response/SuccessType.java index 36c9808b..7197cc05 100644 --- a/src/main/java/org/moonshot/server/global/common/response/SuccessType.java +++ b/src/main/java/org/moonshot/server/global/common/response/SuccessType.java @@ -21,6 +21,7 @@ public enum SuccessType { POST_NOTIFY_IMAGE_SAVE_SUCCESS(HttpStatus.CREATED, "Presigned Url을 통해 이미지 생성을 성공하였습니다."), POST_OKR_SUCCESS(HttpStatus.CREATED, "O-KR을 생성을 성공하였습니다."), POST_KEY_RESULT_SUCCESS(HttpStatus.CREATED, "KeyResult 생성을 성공하였습니다."), + POST_TASK_SUCCESS(HttpStatus.CREATED, "Task 생성을 성공하였습니다."), /** * 204 NO CONTENT diff --git a/src/main/java/org/moonshot/server/global/config/SecurityConfig.java b/src/main/java/org/moonshot/server/global/config/SecurityConfig.java index ae83f208..6eb91808 100644 --- a/src/main/java/org/moonshot/server/global/config/SecurityConfig.java +++ b/src/main/java/org/moonshot/server/global/config/SecurityConfig.java @@ -25,6 +25,7 @@ public class SecurityConfig { "/actuator/health", "/v1/image", "/v1/objective", + "/v1/task", "/v1/key-result", "/error", "/swagger-ui/**", From fae76dd15c06b40e1ba8dd3bb33b590303f58a4f Mon Sep 17 00:00:00 2001 From: its-sky Date: Sat, 6 Jan 2024 19:59:52 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[Feat]=20#30=20:=20Task=20POST=20API=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/controller/TaskController.java | 29 +++++++++++ .../dto/request/TaskCreateRequestDto.java | 12 +++++ .../request/TaskSingleCreateRequestDto.java | 16 ++++++ .../TaskInvalidPositionException.java | 10 ++++ .../TaskNumberExceededException.java | 10 ++++ .../domain/task/service/TaskService.java | 49 +++++++++++++++++++ 6 files changed, 126 insertions(+) create mode 100644 src/main/java/org/moonshot/server/domain/task/controller/TaskController.java create mode 100644 src/main/java/org/moonshot/server/domain/task/dto/request/TaskCreateRequestDto.java create mode 100644 src/main/java/org/moonshot/server/domain/task/dto/request/TaskSingleCreateRequestDto.java create mode 100644 src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java create mode 100644 src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java create mode 100644 src/main/java/org/moonshot/server/domain/task/service/TaskService.java diff --git a/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java b/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java new file mode 100644 index 00000000..2ef9fe4d --- /dev/null +++ b/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java @@ -0,0 +1,29 @@ +package org.moonshot.server.domain.task.controller; + +import static org.moonshot.server.global.common.response.SuccessType.*; + +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.moonshot.server.domain.task.dto.request.TaskCreateRequestDto; +import org.moonshot.server.domain.task.dto.request.TaskSingleCreateRequestDto; +import org.moonshot.server.domain.task.service.TaskService; +import org.moonshot.server.global.common.response.ApiResponse; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/v1/task") +public class TaskController { + + private final TaskService taskService; + + @PostMapping + public ApiResponse createTask(@RequestBody @Valid TaskSingleCreateRequestDto request) { + taskService.createTask(request); + return ApiResponse.success(POST_TASK_SUCCESS); + } + +} diff --git a/src/main/java/org/moonshot/server/domain/task/dto/request/TaskCreateRequestDto.java b/src/main/java/org/moonshot/server/domain/task/dto/request/TaskCreateRequestDto.java new file mode 100644 index 00000000..06c9ff14 --- /dev/null +++ b/src/main/java/org/moonshot/server/domain/task/dto/request/TaskCreateRequestDto.java @@ -0,0 +1,12 @@ +package org.moonshot.server.domain.task.dto.request; + +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; + +public record TaskCreateRequestDto( + @Size(min = 1, max = 30, message = "Task는 30자 이하여야 합니다.") + String title, + @NotNull(message = "KR 순서를 입력해주세요") + short idx +) { +} diff --git a/src/main/java/org/moonshot/server/domain/task/dto/request/TaskSingleCreateRequestDto.java b/src/main/java/org/moonshot/server/domain/task/dto/request/TaskSingleCreateRequestDto.java new file mode 100644 index 00000000..f2a0e771 --- /dev/null +++ b/src/main/java/org/moonshot/server/domain/task/dto/request/TaskSingleCreateRequestDto.java @@ -0,0 +1,16 @@ +package org.moonshot.server.domain.task.dto.request; + +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import org.hibernate.validator.constraints.Range; + +public record TaskSingleCreateRequestDto( + @NotNull(message = "KR이 생성될 KeyResult Id를 입력해주세요.") + Long keyResultId, + @Size(min = 1, max = 30, message = "Task는 30자 이하여야 합니다.") + String title, + @NotNull(message = "KR 순서를 입력해주세요") + @Range(min = 0, max = 2, message = "KeyResult의 순서는 0부터 2까지로 설정할 수 있습니다.") + Short idx +) { +} diff --git a/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java b/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java new file mode 100644 index 00000000..ab3e999c --- /dev/null +++ b/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java @@ -0,0 +1,10 @@ +package org.moonshot.server.domain.task.exception; + +import org.moonshot.server.global.common.exception.MoonshotException; +import org.moonshot.server.global.common.response.ErrorType; + +public class TaskInvalidPositionException extends MoonshotException { + public TaskInvalidPositionException() { + super(ErrorType.INVALID_TASK_ORDER); + } +} diff --git a/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java b/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java new file mode 100644 index 00000000..a1d6dc9d --- /dev/null +++ b/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java @@ -0,0 +1,10 @@ +package org.moonshot.server.domain.task.exception; + +import org.moonshot.server.global.common.exception.MoonshotException; +import org.moonshot.server.global.common.response.ErrorType; + +public class TaskNumberExceededException extends MoonshotException { + public TaskNumberExceededException() { + super(ErrorType.ACTIVE_TASK_NUMBER_EXCEEDED); + } +} diff --git a/src/main/java/org/moonshot/server/domain/task/service/TaskService.java b/src/main/java/org/moonshot/server/domain/task/service/TaskService.java new file mode 100644 index 00000000..21f743b2 --- /dev/null +++ b/src/main/java/org/moonshot/server/domain/task/service/TaskService.java @@ -0,0 +1,49 @@ +package org.moonshot.server.domain.task.service; + +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.moonshot.server.domain.keyresult.exception.KeyResultInvalidPositionException; +import org.moonshot.server.domain.keyresult.model.KeyResult; +import org.moonshot.server.domain.keyresult.repository.KeyResultRepository; +import org.moonshot.server.domain.task.dto.request.TaskCreateRequestDto; +import org.moonshot.server.domain.task.dto.request.TaskSingleCreateRequestDto; +import org.moonshot.server.domain.task.exception.TaskNumberExceededException; +import org.moonshot.server.domain.task.model.Task; +import org.moonshot.server.domain.task.repository.TaskRepository; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor +@Transactional(readOnly = true) +public class TaskService { + + private static final int ACTIVE_TASK_NUMBER = 3; + + private final KeyResultRepository keyResultRepository; + private final TaskRepository taskRepository; + + @Transactional + public void createTask(TaskSingleCreateRequestDto request) { + KeyResult keyResult = keyResultRepository.findKeyResultAndObjective(request.keyResultId()) + .orElseThrow(); + List taskList = taskRepository.findAllByKeyResultOrderByIdx(keyResult); + + if (taskList.size() >= ACTIVE_TASK_NUMBER) { + throw new TaskNumberExceededException(); + } + if (request.idx() > taskList.size()) { + throw new KeyResultInvalidPositionException(); + } + + for (short i = request.idx(); i < taskList.size(); i++) { + taskList.get(i).incrementIdx(); + } + taskRepository.save(Task.builder() + .title(request.title()) + .idx(request.idx()) + .keyResult(keyResult) + .build()); + } + +} From e7fc47d823bc5e471bcb35fd05125d557eef4546 Mon Sep 17 00:00:00 2001 From: its-sky Date: Sat, 6 Jan 2024 20:00:47 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[Del]=20#30=20:=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20import=20=EB=AC=B8=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moonshot/server/domain/task/controller/TaskController.java | 1 - .../org/moonshot/server/domain/task/service/TaskService.java | 1 - .../org/moonshot/server/global/common/response/ErrorType.java | 1 - 3 files changed, 3 deletions(-) diff --git a/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java b/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java index 2ef9fe4d..348ffeb4 100644 --- a/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java +++ b/src/main/java/org/moonshot/server/domain/task/controller/TaskController.java @@ -4,7 +4,6 @@ import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; -import org.moonshot.server.domain.task.dto.request.TaskCreateRequestDto; import org.moonshot.server.domain.task.dto.request.TaskSingleCreateRequestDto; import org.moonshot.server.domain.task.service.TaskService; import org.moonshot.server.global.common.response.ApiResponse; diff --git a/src/main/java/org/moonshot/server/domain/task/service/TaskService.java b/src/main/java/org/moonshot/server/domain/task/service/TaskService.java index 21f743b2..4a12150d 100644 --- a/src/main/java/org/moonshot/server/domain/task/service/TaskService.java +++ b/src/main/java/org/moonshot/server/domain/task/service/TaskService.java @@ -5,7 +5,6 @@ import org.moonshot.server.domain.keyresult.exception.KeyResultInvalidPositionException; import org.moonshot.server.domain.keyresult.model.KeyResult; import org.moonshot.server.domain.keyresult.repository.KeyResultRepository; -import org.moonshot.server.domain.task.dto.request.TaskCreateRequestDto; import org.moonshot.server.domain.task.dto.request.TaskSingleCreateRequestDto; import org.moonshot.server.domain.task.exception.TaskNumberExceededException; import org.moonshot.server.domain.task.model.Task; diff --git a/src/main/java/org/moonshot/server/global/common/response/ErrorType.java b/src/main/java/org/moonshot/server/global/common/response/ErrorType.java index 62504e27..126d1e6e 100644 --- a/src/main/java/org/moonshot/server/global/common/response/ErrorType.java +++ b/src/main/java/org/moonshot/server/global/common/response/ErrorType.java @@ -3,7 +3,6 @@ import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Getter; -import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http; import org.springframework.http.HttpStatus; @Getter From 8e86d6c587e658905a1b04afd712d87b51efc588 Mon Sep 17 00:00:00 2001 From: its-sky Date: Sat, 6 Jan 2024 22:09:12 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[Fix]=20#30=20:=20=EC=BB=A8=EB=B2=A4?= =?UTF-8?q?=EC=85=98=EC=97=90=20=EB=A7=9E=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keyResult/exception/KeyResultInvalidPositionException.java | 2 ++ .../keyResult/exception/KeyResultNumberExceededException.java | 2 ++ .../domain/task/exception/TaskInvalidPositionException.java | 2 ++ .../domain/task/exception/TaskNumberExceededException.java | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultInvalidPositionException.java b/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultInvalidPositionException.java index dba45d51..d2aef38d 100644 --- a/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultInvalidPositionException.java +++ b/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultInvalidPositionException.java @@ -4,7 +4,9 @@ import org.moonshot.server.global.common.response.ErrorType; public class KeyResultInvalidPositionException extends MoonshotException { + public KeyResultInvalidPositionException() { super(ErrorType.INVALID_KEY_RESULT_ORDER); } + } diff --git a/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java b/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java index b654635f..d9e91fd3 100644 --- a/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java +++ b/src/main/java/org/moonshot/server/domain/keyResult/exception/KeyResultNumberExceededException.java @@ -4,7 +4,9 @@ import org.moonshot.server.global.common.response.ErrorType; public class KeyResultNumberExceededException extends MoonshotException { + public KeyResultNumberExceededException() { super(ErrorType.ACTIVE_KEY_RESULT_NUMBER_EXCEEDED); } + } diff --git a/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java b/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java index ab3e999c..be87c088 100644 --- a/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java +++ b/src/main/java/org/moonshot/server/domain/task/exception/TaskInvalidPositionException.java @@ -4,7 +4,9 @@ import org.moonshot.server.global.common.response.ErrorType; public class TaskInvalidPositionException extends MoonshotException { + public TaskInvalidPositionException() { super(ErrorType.INVALID_TASK_ORDER); } + } diff --git a/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java b/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java index a1d6dc9d..9d0ea7b1 100644 --- a/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java +++ b/src/main/java/org/moonshot/server/domain/task/exception/TaskNumberExceededException.java @@ -4,7 +4,9 @@ import org.moonshot.server.global.common.response.ErrorType; public class TaskNumberExceededException extends MoonshotException { + public TaskNumberExceededException() { super(ErrorType.ACTIVE_TASK_NUMBER_EXCEEDED); } + }