Skip to content

Commit 2d04089

Browse files
committed
CLAP-69 fix: Merge conflict 해결
2 parents 714bb89 + b4cf90f commit 2d04089

File tree

157 files changed

+2296
-404
lines changed

Some content is hidden

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

157 files changed

+2296
-404
lines changed

.github/workflows/dev-ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ jobs:
2121
with:
2222
java-version: '17'
2323
distribution: 'temurin' # https://github.com/actions/setup-java
24-
- run: echo "${{ secrets.S3_PROPERTIES }}" >> ./src/test/resources/application.yml
24+
- run: touch ./src/test/resources/application.yml
25+
- run: echo "${{ secrets.S3_PROPERTIES }}" > ./src/test/resources/application.yml
2526

2627
# gradle caching - 빌드 시간 향상
2728
- name: Gradle Caching

build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ dependencies {
101101
implementation 'software.amazon.awssdk:s3'
102102
implementation 'ch.qos.logback:logback-classic:1.4.12'
103103

104+
// Apache Tika
105+
implementation 'org.apache.tika:tika-core:2.9.0'
106+
implementation 'org.apache.tika:tika-parsers:2.9.0'
107+
104108
}
105109

106110
tasks.named('test') {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
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.admin.AddSubCategoryRequest;
54
import clap.server.adapter.inbound.web.dto.admin.AddMainCategoryRequest;
5+
import clap.server.adapter.inbound.web.dto.admin.AddSubCategoryRequest;
66
import clap.server.application.port.inbound.admin.AddCategoryUsecase;
77
import clap.server.common.annotation.architecture.WebAdapter;
88
import io.swagger.v3.oas.annotations.Operation;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package clap.server.adapter.inbound.web.admin;
2+
3+
import clap.server.adapter.inbound.security.SecurityUserDetails;
4+
import clap.server.application.port.inbound.admin.DeleteCategoryUsecase;
5+
import clap.server.common.annotation.architecture.WebAdapter;
6+
import io.swagger.v3.oas.annotations.Operation;
7+
import io.swagger.v3.oas.annotations.tags.Tag;
8+
import lombok.RequiredArgsConstructor;
9+
import org.springframework.security.access.annotation.Secured;
10+
import org.springframework.security.core.annotation.AuthenticationPrincipal;
11+
import org.springframework.web.bind.annotation.DeleteMapping;
12+
import org.springframework.web.bind.annotation.PathVariable;
13+
import org.springframework.web.bind.annotation.RequestMapping;
14+
15+
@Tag(name = "05. Admin")
16+
@WebAdapter
17+
@RequiredArgsConstructor
18+
@RequestMapping("/api/managements")
19+
public class DeleteCategoryController {
20+
private final DeleteCategoryUsecase deleteCategoryUsecase;
21+
22+
@Operation(summary = "카테고리 삭제")
23+
@DeleteMapping("/categories/{categoryId}")
24+
@Secured("ROLE_ADMIN")
25+
public void deleteCategory(@AuthenticationPrincipal SecurityUserDetails userInfo, @PathVariable Long categoryId) {
26+
deleteCategoryUsecase.deleteCategory(userInfo.getUserId(), categoryId);
27+
}
28+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package clap.server.adapter.inbound.web.admin;
2+
3+
import clap.server.application.port.inbound.admin.DeleteMemberUsecase;
4+
import clap.server.common.annotation.architecture.WebAdapter;
5+
import io.swagger.v3.oas.annotations.Operation;
6+
import io.swagger.v3.oas.annotations.tags.Tag;
7+
import lombok.RequiredArgsConstructor;
8+
import org.springframework.security.access.annotation.Secured;
9+
import org.springframework.web.bind.annotation.PatchMapping;
10+
import org.springframework.web.bind.annotation.PathVariable;
11+
import org.springframework.web.bind.annotation.RequestMapping;
12+
13+
@Tag(name = "05. Admin")
14+
@WebAdapter
15+
@RequiredArgsConstructor
16+
@RequestMapping("/api/managements")
17+
public class DeleteMemberController {
18+
private final DeleteMemberUsecase deleteMemberUsecase;
19+
20+
@Operation(summary = "회원 삭제 API")
21+
@Secured("ROLE_ADMIN")
22+
@PatchMapping("/members/{memberId}")
23+
public void deleteMember(@PathVariable Long memberId) {
24+
deleteMemberUsecase.deleteMember(memberId);
25+
}
26+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package clap.server.adapter.inbound.web.admin;
2+
3+
import clap.server.adapter.inbound.web.dto.admin.FindAllCategoryResponse;
4+
import clap.server.adapter.inbound.web.dto.admin.FindMainCategoryResponse;
5+
import clap.server.adapter.inbound.web.dto.admin.FindSubCategoryResponse;
6+
import clap.server.application.port.inbound.admin.FindAllCategoryUsecase;
7+
import clap.server.application.port.inbound.admin.FindMainCategoryUsecase;
8+
import clap.server.application.port.inbound.admin.FindSubCategoryUsecase;
9+
import clap.server.common.annotation.architecture.WebAdapter;
10+
import io.swagger.v3.oas.annotations.Operation;
11+
import io.swagger.v3.oas.annotations.tags.Tag;
12+
import lombok.RequiredArgsConstructor;
13+
import org.springframework.http.ResponseEntity;
14+
import org.springframework.web.bind.annotation.GetMapping;
15+
import org.springframework.web.bind.annotation.RequestMapping;
16+
17+
import java.util.List;
18+
19+
@Tag(name = "카테고리 조회")
20+
@WebAdapter
21+
@RequiredArgsConstructor
22+
@RequestMapping("/api")
23+
public class FindCategoryController {
24+
private final FindAllCategoryUsecase findAllCategoryUsecase;
25+
private final FindMainCategoryUsecase findmainCategoryUsecase;
26+
private final FindSubCategoryUsecase findsubCategoryUsecase;
27+
28+
@Operation(summary = "모든 카테고리 조회")
29+
@GetMapping("/category")
30+
public ResponseEntity<List<FindAllCategoryResponse>> findAllCategory() {
31+
return ResponseEntity.ok(findAllCategoryUsecase.findAllCategory());
32+
}
33+
34+
@Operation(summary = "1차 카테고리 조회")
35+
@GetMapping("/main-category")
36+
public ResponseEntity<List<FindMainCategoryResponse>> findMainCategory() {
37+
return ResponseEntity.ok(findmainCategoryUsecase.findMainCategory());
38+
}
39+
40+
@Operation(summary = "2차 카테고리 조회")
41+
@GetMapping("/sub-category")
42+
public ResponseEntity<List<FindSubCategoryResponse>> findSubCategory() {
43+
return ResponseEntity.ok(findsubCategoryUsecase.findSubCategory());
44+
}
45+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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.common.SliceResponse;
5+
import clap.server.adapter.inbound.web.dto.label.FindLabelListResponse;
6+
import clap.server.application.port.inbound.label.FindLabelListUsecase;
7+
import clap.server.common.annotation.architecture.WebAdapter;
8+
import io.swagger.v3.oas.annotations.Operation;
9+
import io.swagger.v3.oas.annotations.tags.Tag;
10+
import lombok.RequiredArgsConstructor;
11+
import org.springframework.http.ResponseEntity;
12+
import org.springframework.security.access.annotation.Secured;
13+
import org.springframework.security.core.annotation.AuthenticationPrincipal;
14+
import org.springframework.web.bind.annotation.GetMapping;
15+
import org.springframework.web.bind.annotation.RequestMapping;
16+
17+
import java.util.List;
18+
19+
@Tag(name = "05. Admin")
20+
@WebAdapter
21+
@RequiredArgsConstructor
22+
@RequestMapping("/api/managements/labels")
23+
public class FindLabelAdminController {
24+
25+
private final FindLabelListUsecase findLabelListUsecase;
26+
27+
@Operation(summary = "구분 목록 조회 API")
28+
@Secured({"ROLE_ADMIN"})
29+
@GetMapping
30+
public ResponseEntity<List<FindLabelListResponse>> findLabelList(
31+
@AuthenticationPrincipal SecurityUserDetails userInfo) {
32+
return ResponseEntity.ok(findLabelListUsecase.findLabelListAdmin(userInfo.getUserId()));
33+
}
34+
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
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.admin.UpdateMemberInfoRequest;
5-
import clap.server.application.port.inbound.admin.ManageMemberUsecase;
4+
import clap.server.adapter.inbound.web.dto.admin.UpdateMemberRequest;
5+
import clap.server.application.port.inbound.admin.UpdateMemberUsecase;
66
import clap.server.common.annotation.architecture.WebAdapter;
77
import io.swagger.v3.oas.annotations.Operation;
88
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -20,14 +20,14 @@
2020
@RequiredArgsConstructor
2121
@RequestMapping("/api/managements/members")
2222
public class ManageMemberController {
23-
private final ManageMemberUsecase manageMemberUsecase;
23+
private final UpdateMemberUsecase updateMemberUsecase;
2424

2525
@Operation(summary = "회원 정보 수정 API")
2626
@PostMapping("/{memberId}")
2727
@Secured("ROLE_ADMIN")
2828
public void registerMember(@AuthenticationPrincipal SecurityUserDetails userInfo,
2929
@PathVariable Long memberId,
30-
@RequestBody @Valid UpdateMemberInfoRequest request){
31-
manageMemberUsecase.updateMemberInfo(memberId, request);
30+
@RequestBody @Valid UpdateMemberRequest request){
31+
updateMemberUsecase.updateMemberInfo(userInfo.getUserId(), memberId, request);
3232
}
3333
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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.label.AddAndEditLabelRequest;
5+
import clap.server.application.port.inbound.admin.AddLabelUsecase;
6+
import clap.server.application.port.inbound.admin.DeleteLabelUsecase;
7+
import clap.server.application.port.inbound.admin.UpdateLabelUsecase;
8+
import clap.server.common.annotation.architecture.WebAdapter;
9+
import io.swagger.v3.oas.annotations.Operation;
10+
import io.swagger.v3.oas.annotations.Parameter;
11+
import io.swagger.v3.oas.annotations.enums.ParameterIn;
12+
import io.swagger.v3.oas.annotations.tags.Tag;
13+
import lombok.RequiredArgsConstructor;
14+
import org.springframework.security.access.annotation.Secured;
15+
import org.springframework.security.core.annotation.AuthenticationPrincipal;
16+
import org.springframework.web.bind.annotation.*;
17+
18+
@Tag(name = "05. Admin")
19+
@WebAdapter
20+
@RequiredArgsConstructor
21+
@RequestMapping("/api/management/labels")
22+
public class ManagementLabelController {
23+
24+
private final AddLabelUsecase addLabelUsecase;
25+
private final UpdateLabelUsecase updateLabelUsecase;
26+
private final DeleteLabelUsecase deleteLabelUsecase;
27+
28+
@Operation(summary = "구분(label) 추가 API")
29+
@PostMapping
30+
@Secured({"ROLE_ADMIN"})
31+
public void addLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
32+
@RequestBody AddAndEditLabelRequest request) {
33+
addLabelUsecase.addLabel(userInfo.getUserId(), request);
34+
}
35+
36+
@Operation(summary = "구분(label) 수정 API")
37+
@Parameter(name = "labelId", description = "구분(label) 고유 ID", required = true, in = ParameterIn.PATH)
38+
@PatchMapping("/{labelId}")
39+
@Secured({"ROLE_ADMIN"})
40+
public void updateLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
41+
@PathVariable Long labelId,
42+
@RequestBody AddAndEditLabelRequest request) {
43+
updateLabelUsecase.editLabel(userInfo.getUserId(), labelId, request);
44+
45+
}
46+
47+
@Operation(summary = "구분(label) 삭제 API")
48+
@Parameter(name = "labelId", description = "구분(label) 고유 ID", required = true, in = ParameterIn.PATH)
49+
@DeleteMapping("/{labelId}")
50+
@Secured({"ROLE_ADMIN"})
51+
public void deleteLabel(@AuthenticationPrincipal SecurityUserDetails userInfo,
52+
@PathVariable Long labelId) {
53+
deleteLabelUsecase.deleteLabel(userInfo.getUserId(), labelId);
54+
}
55+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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.UpdateCategoryRequest;
5+
import clap.server.application.port.inbound.admin.UpdateCategoryUsecase;
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.web.bind.annotation.PatchMapping;
13+
import org.springframework.web.bind.annotation.PathVariable;
14+
import org.springframework.web.bind.annotation.RequestBody;
15+
import org.springframework.web.bind.annotation.RequestMapping;
16+
17+
@Tag(name = "05. Admin")
18+
@WebAdapter
19+
@RequiredArgsConstructor
20+
@RequestMapping("/api/managements")
21+
public class UpdateCategoryController {
22+
private final UpdateCategoryUsecase updateCategoryUsecase;
23+
24+
@Operation(summary = "카테고리 수정")
25+
@PatchMapping("/categories/{categoryId}")
26+
@Secured("ROLE_ADMIN")
27+
public void updateCategory(@AuthenticationPrincipal SecurityUserDetails userInfo, @PathVariable Long categoryId,
28+
@RequestBody UpdateCategoryRequest updateCategoryRequest) {
29+
updateCategoryUsecase.updateCategory(userInfo.getUserId(), categoryId, updateCategoryRequest.name(), updateCategoryRequest.code());
30+
}
31+
}

0 commit comments

Comments
 (0)