Skip to content

Commit 69fe648

Browse files
authored
Merge pull request #758 from team-aliens/fix/757-이메일-인증번호-보내기-버그
🔀 :: (#757) 이메일 인증번호 보내기 버그
2 parents f6ec83d + cafa9ff commit 69fe648

File tree

5 files changed

+24
-5
lines changed

5 files changed

+24
-5
lines changed

feature/src/main/java/team/aliens/dms/android/feature/resetpassword/AccountVerificationScreen.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ fun AccountVerificationScreen(
7979
message = context.getString(R.string.reset_password_account_verification_account_id_does_not_exist),
8080
)
8181

82+
ResetPasswordSideEffect.EmailVerificationTooManyRequest -> toast.showErrorToast(
83+
message = context.getString(R.string.reset_password_account_verification_error_too_many_request),
84+
)
85+
8286
ResetPasswordSideEffect.SendEmailVerificationCodeSuccess -> navigator.openResetPasswordEnterEmailVerificationCode()
8387

8488
else -> { /* explicit blank */

feature/src/main/java/team/aliens/dms/android/feature/resetpassword/ResetPasswordViewModel.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ class ResetPasswordViewModel @Inject constructor(
100100
}
101101
}.onSuccess {
102102
postSideEffect(ResetPasswordSideEffect.SendEmailVerificationCodeSuccess)
103+
}.onFailure {
104+
postSideEffect(ResetPasswordSideEffect.EmailVerificationTooManyRequest)
103105
}
104106

105107
private fun updateEmailVerificationCode(value: String) = run {
@@ -221,4 +223,5 @@ sealed class ResetPasswordSideEffect : SideEffect() {
221223
data object EmailVerificationCodeIncorrect : ResetPasswordSideEffect()
222224
data object EmailVerificationSessionReset : ResetPasswordSideEffect()
223225
data object EmailVerificationSessionResetFailed : ResetPasswordSideEffect()
226+
data object EmailVerificationTooManyRequest : ResetPasswordSideEffect()
224227
}

feature/src/main/java/team/aliens/dms/android/feature/signup/EnterEmailVerificationCodeScreen.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ internal fun SignUpEnterEmailVerificationCodeScreen(
101101
message = context.getString(R.string.sign_up_enter_email_verification_code_error_verification_code_incorrect),
102102
)
103103

104+
SignUpSideEffect.EmailVerificationTooManyRequest -> toast.showErrorToast(
105+
message = context.getString(R.string.reset_password_account_verification_error_too_many_request),
106+
)
107+
104108
SignUpSideEffect.EmailVerificationSessionReset -> {
105109
isVerificationInputAvailable = true
106110
with(timer) {

feature/src/main/java/team/aliens/dms/android/feature/signup/SignUpViewModel.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,16 @@ class SignUpViewModel @Inject constructor(
132132
}
133133
}
134134

135-
private suspend fun sendEmailVerificationCode(email: String) =
136-
authRepository.sendEmailVerificationCode(
137-
email = email,
138-
type = EmailVerificationType.SIGNUP,
139-
)
135+
private suspend fun sendEmailVerificationCode(email: String) {
136+
runCatching {
137+
authRepository.sendEmailVerificationCode(
138+
email = email,
139+
type = EmailVerificationType.SIGNUP,
140+
)
141+
}.onFailure {
142+
postSideEffect(SignUpSideEffect.EmailVerificationTooManyRequest)
143+
}
144+
}
140145

141146
private fun updateEmailVerificationCode(value: String) = run {
142147
if (value.length > EMAIL_VERIFICATION_CODE_LENGTH) {
@@ -438,6 +443,7 @@ sealed class SignUpSideEffect : SideEffect() {
438443
data object EmailVerificationCodeIncorrect : SignUpSideEffect()
439444
data object EmailVerificationSessionReset : SignUpSideEffect()
440445
data object EmailVerificationSessionResetFailed : SignUpSideEffect()
446+
data object EmailVerificationTooManyRequest : SignUpSideEffect()
441447

442448
// SetId
443449
class UserFound(val studentName: String) : SignUpSideEffect()

feature/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
<string name="sign_up_enter_email_verification_code_error_cannot_resend_verification_code">인증 코드를 재발송할 수 없습니다</string>
102102
<string name="sign_up_enter_email_verification_code_error_verification_code_incorrect">인증 코드가 일치하지 않습니다</string>
103103
<string name="sign_up_enter_email_verification_code_error_timeout">인증 시간이 만료되었습니다</string>
104+
<string name="sign_up_enter_email_verification_code_error_too_many_request">요청이 너무 많습니다 잠시 후 다시 시도해주세요</string>
104105
<string name="sign_up_send_email_verification_code">인증 코드 발송</string>
105106
<string name="sign_up_email_resent">이메일이 재전송되었습니다</string>
106107
<string name="sign_up_email_please_enter_verification_code">이메일로 전송된 인증코드 6자리를 입력해 주세요</string>
@@ -375,6 +376,7 @@
375376
<string name="reset_password_account_verification_identification_verification">본인확인 인증</string>
376377
<string name="reset_password_account_verification_success_account_id_matches_email">아이디와 일치하는 이메일입니다</string>
377378
<string name="reset_password_account_verification_enter_account_id_invalid_format">아이디 형식이 일치하지 않습니다.</string>
379+
<string name="reset_password_account_verification_error_too_many_request">요청이 너무 많습니다 잠시 후 다시 시도해주세요</string>
378380
<string name="reset_password_account_verification_enter_student_name">이름 입력</string>
379381
<string name="reset_password_account_verification_enter_email">이메일 입력</string>
380382
<string name="reset_password_set_password_password_success_changed">비밀번호가 변경되었습니다.</string>

0 commit comments

Comments
 (0)