Skip to content

Commit 9fd10f6

Browse files
committed
CLAP-310 Feat: 닉네임 및 이메일 중복 예외 처리 추가
<footer> - 관련: #380
1 parent 5c82b72 commit 9fd10f6

File tree

3 files changed

+12
-16
lines changed

3 files changed

+12
-16
lines changed

src/main/java/clap/server/application/port/inbound/domain/MemberService.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,6 @@ public int getRemainingTasks(Long memberId) {
3030
return loadMemberPort.findTasksByMemberIdAndStatus(memberId, targetStatuses).size();
3131
}
3232

33-
public String getMemberNickname(Long memberId) {
34-
Member member = findById(memberId);
35-
if (member.getMemberInfo() == null) {
36-
throw new ApplicationException(MemberErrorCode.MEMBER_NOT_FOUND);
37-
}
38-
return member.getMemberInfo().getNickname();
39-
}
40-
41-
public String getMemberImageUrl(Long memberId) {
42-
Member member = findById(memberId);
43-
return member.getImageUrl() != null ? member.getImageUrl() : "default-image-url";
44-
}
45-
4633
public List<Member> findActiveManagers() {
4734
List<Member> activeManagers = loadMemberPort.findActiveManagers();
4835

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@
55
import clap.server.application.port.inbound.domain.MemberService;
66
import clap.server.application.port.outbound.member.CommandMemberPort;
77
import clap.server.application.port.outbound.member.LoadDepartmentPort;
8+
import clap.server.application.port.outbound.member.LoadMemberPort;
89
import clap.server.common.annotation.architecture.ApplicationService;
910
import clap.server.domain.model.member.Department;
1011
import clap.server.domain.model.member.Member;
1112
import clap.server.domain.model.member.MemberInfo;
1213
import clap.server.exception.ApplicationException;
14+
import clap.server.exception.AuthException;
15+
import clap.server.exception.code.AuthErrorCode;
1316
import clap.server.exception.code.DepartmentErrorCode;
17+
import clap.server.exception.code.MemberErrorCode;
1418
import lombok.RequiredArgsConstructor;
1519
import org.springframework.security.crypto.password.PasswordEncoder;
1620
import org.springframework.transaction.annotation.Transactional;
@@ -24,8 +28,7 @@ class RegisterMemberService implements RegisterMemberUsecase {
2428
private final MemberService memberService;
2529
private final CommandMemberPort commandMemberPort;
2630
private final LoadDepartmentPort loadDepartmentPort;
27-
private final PasswordEncoder passwordEncoder;
28-
private final CsvParseService csvParser;
31+
private final LoadMemberPort loadMemberPort;
2932

3033
@Override
3134
@Transactional
@@ -34,6 +37,12 @@ public void registerMember(Long adminId, RegisterMemberRequest request) {
3437
Department department = loadDepartmentPort.findById(request.departmentId())
3538
.orElseThrow(() -> new ApplicationException(DepartmentErrorCode.DEPARTMENT_NOT_FOUND));
3639

40+
loadMemberPort.findByNickname(request.nickname()).ifPresent(
41+
member -> {
42+
throw new ApplicationException(MemberErrorCode.DUPLICATE_NICKNAME);
43+
}
44+
);
45+
3746
// TODO: 인프라팀만 담당자가 될 수 있도록 수정해야함
3847
MemberInfo memberInfo = MemberInfo.toMemberInfo(request.name(), request.email(), request.nickname(), request.isReviewer(),
3948
department, request.role(), request.departmentRole());

src/main/java/clap/server/exception/code/MemberErrorCode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public enum MemberErrorCode implements BaseErrorCode {
1616
CSV_PARSING_ERROR(HttpStatus.BAD_REQUEST, "MEMBER_008", "CSV 데이터 파싱 중 오류가 발생했습니다."),
1717
MEMBER_REGISTRATION_FAILED(HttpStatus.INTERNAL_SERVER_ERROR, "MEMBER_009", "담당자만 리뷰 권한이 있습니다."),
1818
NAME_CANNOT_BE_EMPTY(HttpStatus.BAD_REQUEST, "MEMBER_010", "이름은 공백일 수 없습니다."),
19-
19+
DUPLICATE_NICKNAME(HttpStatus.BAD_REQUEST,"MEMBER_011", "중복된 닉네임입니다")
2020
;
2121

2222
private final HttpStatus httpStatus;

0 commit comments

Comments
 (0)