Skip to content

Commit 108dd39

Browse files
authored
Merge pull request #279 from TaskFlow-CLAP/CLAP-255
CLAP-255 회원 삭제 API 리팩토링
2 parents a96fbb8 + 3fad580 commit 108dd39

File tree

6 files changed

+22
-11
lines changed

6 files changed

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

3+
import clap.server.adapter.inbound.web.dto.admin.request.DeleteMemberRequest;
34
import clap.server.application.port.inbound.admin.DeleteMemberUsecase;
45
import clap.server.common.annotation.architecture.WebAdapter;
56
import io.swagger.v3.oas.annotations.Operation;
67
import io.swagger.v3.oas.annotations.tags.Tag;
8+
import jakarta.validation.Valid;
79
import lombok.RequiredArgsConstructor;
810
import org.springframework.security.access.annotation.Secured;
911
import org.springframework.web.bind.annotation.PatchMapping;
10-
import org.springframework.web.bind.annotation.PathVariable;
12+
import org.springframework.web.bind.annotation.RequestBody;
1113
import org.springframework.web.bind.annotation.RequestMapping;
1214

1315
@Tag(name = "05. Admin")
@@ -19,8 +21,8 @@ public class DeleteMemberController {
1921

2022
@Operation(summary = "회원 삭제 API")
2123
@Secured("ROLE_ADMIN")
22-
@PatchMapping("/members/{memberId}")
23-
public void deleteMember(@PathVariable Long memberId) {
24-
deleteMemberUsecase.deleteMember(memberId);
24+
@PatchMapping("/members/delete")
25+
public void deleteMember(@RequestBody @Valid DeleteMemberRequest deleteMemberRequest) {
26+
deleteMemberUsecase.deleteMember(deleteMemberRequest.memberId());
2527
}
2628
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
import clap.server.adapter.inbound.web.dto.admin.response.RetrieveAllMemberResponse;
55
import clap.server.adapter.inbound.web.dto.common.PageResponse;
66
import clap.server.application.port.inbound.admin.FindMembersWithFilterUsecase;
7+
78
import io.swagger.v3.oas.annotations.Operation;
89
import io.swagger.v3.oas.annotations.Parameter;
910
import io.swagger.v3.oas.annotations.tags.Tag;
10-
import lombok.RequiredArgsConstructor;
1111
import jakarta.validation.Valid;
12+
import lombok.RequiredArgsConstructor;
1213
import org.springframework.data.domain.PageRequest;
1314
import org.springframework.data.domain.Pageable;
1415
import org.springframework.http.ResponseEntity;
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.admin.request;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import jakarta.validation.constraints.NotNull;
5+
6+
public record DeleteMemberRequest(
7+
@NotNull(message = "회원 ID는 필수 값입니다.")
8+
@Schema(description = "삭제할 회원 ID", example = "1", required = true)
9+
Long memberId
10+
) {
11+
}

src/main/java/clap/server/application/service/admin/DeleteMemberService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package clap.server.application.service.admin;
22

33
import clap.server.application.port.inbound.admin.DeleteMemberUsecase;
4-
import clap.server.application.port.inbound.domain.MemberService;
54
import clap.server.application.port.outbound.member.CommandMemberPort;
65
import clap.server.application.port.outbound.member.LoadMemberPort;
76
import clap.server.domain.model.member.Member;
@@ -13,8 +12,8 @@
1312
@Service
1413
@RequiredArgsConstructor
1514
public class DeleteMemberService implements DeleteMemberUsecase {
16-
private final LoadMemberPort loadMemberPort; // 조회 작업용 Port
17-
private final CommandMemberPort commandMemberPort; // 데이터 변경 작업용 Port
15+
private final LoadMemberPort loadMemberPort;
16+
private final CommandMemberPort commandMemberPort;
1817

1918
@Override
2019
public void deleteMember(Long memberId) {

src/main/java/clap/server/application/service/task/UpdateTaskService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@
33
import clap.server.adapter.inbound.web.dto.task.request.UpdateTaskLabelRequest;
44
import clap.server.adapter.inbound.web.dto.task.request.UpdateTaskProcessorRequest;
55
import clap.server.adapter.inbound.web.dto.task.request.UpdateTaskRequest;
6-
import clap.server.adapter.inbound.web.dto.task.response.UpdateTaskResponse;
76
import clap.server.adapter.outbound.persistense.entity.notification.constant.NotificationType;
87
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskHistoryType;
98
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus;
109
import clap.server.application.mapper.AttachmentMapper;
11-
import clap.server.application.mapper.TaskResponseMapper;
1210
import clap.server.application.port.inbound.domain.CategoryService;
1311
import clap.server.application.port.inbound.domain.LabelService;
1412
import clap.server.application.port.inbound.domain.MemberService;

src/main/java/clap/server/domain/model/member/Member.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class Member extends BaseTime {
2424
private MemberStatus status;
2525
private String password;
2626

27-
// @Builder가 Lombok과 충돓하여 삭제
27+
2828
public Member(MemberInfo memberInfo, Boolean agitNotificationEnabled, Boolean emailNotificationEnabled, Boolean kakaoworkNotificationEnabled,
2929
Member admin, String imageUrl, MemberStatus status, String password) {
3030
this.memberInfo = memberInfo;

0 commit comments

Comments
 (0)