Skip to content

Commit 269fa7d

Browse files
committed
Merge branch 'develop' of https://github.com/TaskFlow-CLAP/TaskFlow-Server into develop
2 parents 24c582d + a74eaff commit 269fa7d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+361
-153
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package clap.server.adapter.inbound.web.admin;
2+
3+
import clap.server.adapter.inbound.security.SecurityUserDetails;
4+
import clap.server.adapter.inbound.web.dto.admin.AddMainCategoryRequest;
5+
import clap.server.application.port.inbound.management.AddMainCategoryUsecase;
6+
import clap.server.common.annotation.architecture.WebAdapter;
7+
import io.swagger.v3.oas.annotations.Operation;
8+
import io.swagger.v3.oas.annotations.tags.Tag;
9+
import lombok.RequiredArgsConstructor;
10+
import org.springframework.security.access.annotation.Secured;
11+
import org.springframework.security.core.annotation.AuthenticationPrincipal;
12+
import org.springframework.validation.annotation.Validated;
13+
import org.springframework.web.bind.annotation.PostMapping;
14+
import org.springframework.web.bind.annotation.RequestBody;
15+
16+
@Tag(name = "카테고리 추가")
17+
@WebAdapter
18+
@RequiredArgsConstructor
19+
public class addCategoryController {
20+
private final AddMainCategoryUsecase addMainCategoryUsecase;
21+
22+
@Operation(summary = "1차 카테고리 추가")
23+
@PostMapping("/api/maincategory")
24+
@Secured("ROLE_ADMIN")
25+
public void addMainCategory(@AuthenticationPrincipal SecurityUserDetails userInfo, @Validated @RequestBody AddMainCategoryRequest addMainCategoryRequest) {
26+
addMainCategoryUsecase.addMainCategory(userInfo.getUserId(), addMainCategoryRequest.code(), addMainCategoryRequest.name());
27+
}
28+
29+
// @Operation(summary = "2차 카테고리 추가")
30+
// @PostMapping("/api/subcategory")
31+
// @Secured("ROLE_ADMIN")
32+
// public void addSubCategory(@Validated @RequestBody AddCategoryRequest addCategoryRequest) {
33+
// addMainCategoryUsecase.addSubCategory(addCategoryRequest.code(), addCategoryRequest.name());
34+
// }
35+
36+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package clap.server.adapter.inbound.web.dto.admin;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.Pattern;
5+
import org.hibernate.validator.constraints.Length;
6+
7+
public record AddMainCategoryRequest(
8+
@NotBlank @Length(max = 20)
9+
String name,
10+
@NotBlank @Pattern(regexp = "^[A-Z]{1,2}$", message = "올바른 카테고리 코드 형식이 아닙니다.")
11+
String code
12+
) {
13+
}
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
package clap.server.adapter.inbound.web.dto.task;
22

33

4+
import io.swagger.v3.oas.annotations.media.Schema;
5+
46
public record AttachmentRequest(
7+
@Schema(description = "파일 ID", example = "45")
58
Long fileId,
6-
String fileUrl) {
9+
10+
@Schema(description = "파일 URL", example = "https://example.com/file.png")
11+
String fileUrl
12+
) {
713
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
package clap.server.adapter.inbound.web.dto.task;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import jakarta.validation.constraints.NotBlank;
45
import jakarta.validation.constraints.NotNull;
56

67
import java.util.List;
78

9+
10+
@Schema(description = "작업 생성 요청")
811
public record CreateTaskRequest(
12+
@Schema(description = "카테고리 ID")
913
@NotNull
1014
Long categoryId,
15+
16+
@Schema(description = "메인 카테고리 ID")
1117
@NotNull
1218
Long mainCategoryId,
19+
20+
@Schema(description = "작업 제목")
1321
@NotBlank
1422
String title,
23+
24+
@Schema(description = "작업 설명")
1525
String description,
26+
27+
@Schema(description = "첨부 파일 URL 목록", example = "[\"https://example.com/file1.png\", \"https://example.com/file2.pdf\"]")
1628
List<@NotBlank String> fileUrls
1729
) {
1830
}

src/main/java/clap/server/adapter/inbound/web/dto/task/CreateAndUpdateTaskResponse.java renamed to src/main/java/clap/server/adapter/inbound/web/dto/task/CreateTaskResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44

5-
public record CreateAndUpdateTaskResponse(
5+
public record CreateTaskResponse(
66
Long taskId,
77
Long categoryId,
88
String title
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package clap.server.adapter.inbound.web.dto.task;
2+
3+
4+
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus;
5+
import io.swagger.v3.oas.annotations.media.Schema;
6+
import jakarta.validation.constraints.NotNull;
7+
import org.springframework.beans.factory.annotation.Value;
8+
9+
import java.util.List;
10+
11+
@Schema(description = "작업 필터링 요청")
12+
public record FilterTaskListRequest(
13+
14+
@Schema(description = "검색 기간 (단위: 시간)", example = "1, 24, 168, 730, 2190 (1시간, 24시간, 1주일, 1개월, 3개월)")
15+
Integer term,
16+
17+
@Schema(description = "카테고리 ID 목록", example = "[1, 2, 3]")
18+
@NotNull
19+
List<Long> categoryIds,
20+
21+
@Schema(description = "메인 카테고리 ID 목록", example = "[10, 20, 30]")
22+
@NotNull
23+
List<Long> mainCategoryIds,
24+
25+
@Schema(description = "작업 제목", example = "작업 제목")
26+
@NotNull
27+
String title,
28+
29+
@Schema(description = "사용자 닉네임", example = "atom.park")
30+
@NotNull
31+
String nickName,
32+
33+
@Schema(description = "작업 상태 목록", example = "[\"REQUESTED\", \"IN_PROGRESS\"]")
34+
@NotNull
35+
List<TaskStatus> taskStatus,
36+
37+
@Schema(description = "정렬 기준", implementation = OrderRequest.class)
38+
@NotNull
39+
OrderRequest orderRequest
40+
) {
41+
}

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

Lines changed: 0 additions & 14 deletions
This file was deleted.
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.task;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
5+
public record OrderRequest(
6+
@Schema(description = "정렬 기준 (REQUESTED_AT/FINISHED_AT)", example = "REQUESTED_AT")
7+
String sortBy,
8+
9+
@Schema(description = "정렬 방향 (ASC/DESC)", example = "ASC")
10+
String sortDirection
11+
) {}
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,34 @@
11
package clap.server.adapter.inbound.web.dto.task;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import jakarta.validation.constraints.NotBlank;
45
import jakarta.validation.constraints.NotNull;
56

67
import java.util.List;
78

9+
@Schema(description = "작업 업데이트 요청")
810
public record UpdateTaskRequest(
11+
12+
@Schema(description = "작업 ID", example = "123")
913
@NotNull
1014
Long taskId,
15+
16+
@Schema(description = "카테고리 ID", example = "1")
1117
@NotNull
1218
Long categoryId,
19+
20+
@Schema(description = "메인 카테고리 ID", example = "10")
1321
@NotNull
1422
Long mainCategoryId,
23+
24+
@Schema(description = "작업 제목", example = "업데이트된 제목")
1525
@NotBlank
1626
String title,
27+
28+
@Schema(description = "작업 설명", example = "업데이트된 설명.")
1729
String description,
30+
31+
@Schema(description = "첨부 파일 요청 목록", implementation = AttachmentRequest.class)
1832
List<AttachmentRequest> attachmentRequests
19-
) {
20-
}
33+
) {}
34+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package clap.server.adapter.inbound.web.dto.task;
2+
3+
public record UpdateTaskResponse(
4+
Long taskId,
5+
Long categoryId,
6+
String title
7+
) {
8+
}

0 commit comments

Comments
 (0)