Skip to content

Commit 5c82b72

Browse files
committed
CLAP-310 Feat: 인증번호 검증 API request 변경
<footer> - 관련: #380
1 parent e8e8a17 commit 5c82b72

File tree

4 files changed

+23
-12
lines changed

4 files changed

+23
-12
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
package clap.server.adapter.inbound.web.dto.member.response;
3+
4+
import jakarta.validation.constraints.NotBlank;
5+
6+
public record VerifyCodeRequest(
7+
@NotBlank
8+
String email,
9+
@NotBlank
10+
String code
11+
) {
12+
}

src/main/java/clap/server/adapter/inbound/web/member/EmailVerificationController.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package clap.server.adapter.inbound.web.member;
22

3-
import clap.server.adapter.inbound.security.service.SecurityUserDetails;
43
import clap.server.adapter.inbound.web.dto.member.response.SendVerificationCodeRequest;
4+
import clap.server.adapter.inbound.web.dto.member.response.VerifyCodeRequest;
55
import clap.server.application.port.inbound.member.SendVerificationEmailUsecase;
66
import clap.server.application.port.inbound.member.VerifyEmailCodeUsecase;
77
import clap.server.common.annotation.architecture.WebAdapter;
88
import io.swagger.v3.oas.annotations.Operation;
99
import io.swagger.v3.oas.annotations.tags.Tag;
1010
import lombok.RequiredArgsConstructor;
11-
import org.springframework.security.core.annotation.AuthenticationPrincipal;
1211
import org.springframework.web.bind.annotation.PostMapping;
1312
import org.springframework.web.bind.annotation.RequestBody;
1413
import org.springframework.web.bind.annotation.RequestMapping;
15-
import org.springframework.web.bind.annotation.RequestParam;
1614

1715
@Tag(name = "00. Auth [인증번호]")
1816
@WebAdapter
@@ -30,8 +28,7 @@ public void sendVerificationEmail(@RequestBody SendVerificationCodeRequest reque
3028

3129
@Operation(summary = "인증번호 검증 API")
3230
@PostMapping("/verification")
33-
public void sendVerificationEmail(@AuthenticationPrincipal SecurityUserDetails userInfo,
34-
@RequestParam String code) {
35-
verifyEmailCodeUsecase.verifyEmailCode(userInfo.getUserId(), code);
31+
public void sendVerificationEmail(@RequestBody VerifyCodeRequest request) {
32+
verifyEmailCodeUsecase.verifyEmailCode(request);
3633
}
3734
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package clap.server.application.port.inbound.member;
22

3+
import clap.server.adapter.inbound.web.dto.member.response.VerifyCodeRequest;
4+
35
public interface VerifyEmailCodeUsecase {
4-
void verifyEmailCode(Long memberId, String code);
6+
void verifyEmailCode(VerifyCodeRequest request);
57
}

src/main/java/clap/server/application/service/auth/EmailVerificationService.java

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

33
import clap.server.adapter.inbound.web.dto.member.response.SendVerificationCodeRequest;
4+
import clap.server.adapter.inbound.web.dto.member.response.VerifyCodeRequest;
45
import clap.server.application.port.inbound.domain.MemberService;
56
import clap.server.application.port.inbound.member.SendVerificationEmailUsecase;
67
import clap.server.application.port.inbound.member.VerifyEmailCodeUsecase;
@@ -40,17 +41,16 @@ public void sendVerificationCode(SendVerificationCodeRequest request) {
4041

4142
@Override
4243
@Transactional
43-
public void verifyEmailCode(Long memberId, String code) {
44-
Member member = memberService.findActiveMember(memberId);
45-
Otp otp = loadOtpPort.findByEmail(member.getMemberInfo().getEmail()).orElseThrow(
44+
public void verifyEmailCode(VerifyCodeRequest request) {
45+
Otp otp = loadOtpPort.findByEmail(request.email()).orElseThrow(
4646
() -> new ApplicationException(AuthErrorCode.VERIFICATION_CODE_EXPIRED)
4747
);
4848

49-
if(!code.equals(otp.code())){
49+
if(!request.code().equals(otp.code())){
5050
throw new ApplicationException(AuthErrorCode.VERIFICATION_CODE_MISMATCH);
5151
}
5252
else {
53-
commandOtpPort.deleteByEmail(member.getMemberInfo().getEmail());
53+
commandOtpPort.deleteByEmail(request.email());
5454
}
5555
}
5656
}

0 commit comments

Comments
 (0)