diff --git a/internal/api/resend.go b/internal/api/resend.go index 967da4879..2403d348b 100644 --- a/internal/api/resend.go +++ b/internal/api/resend.go @@ -27,10 +27,10 @@ func (p *ResendConfirmationParams) Validate() error { return badRequestError("Missing one of these types: signup, email_change, sms, phone_change") } - if p.Email == "" && (p.Type == signupVerification || p.Type == emailChangeVerification) { + if p.Email == "" && p.Type == signupVerification { return badRequestError("Type provided requires an email address") } - if p.Phone == "" && (p.Type == smsVerification || p.Type == phoneChangeVerification) { + if p.Phone == "" && p.Type == smsVerification { return badRequestError("Type provided requires a phone number") } @@ -132,13 +132,13 @@ func (a *API) Resend(w http.ResponseWriter, r *http.Request) error { } return a.sendPhoneConfirmation(ctx, tx, user, params.Phone, phoneConfirmationOtp, smsProvider, sms_provider.SMSProvider) case emailChangeVerification: - return a.sendEmailChange(tx, config, user, mailer, params.Email, referrer, config.Mailer.OtpLength, models.ImplicitFlow) + return a.sendEmailChange(tx, config, user, mailer, user.EmailChange, referrer, config.Mailer.OtpLength, models.ImplicitFlow) case phoneChangeVerification: smsProvider, terr := sms_provider.GetSmsProvider(*config) if terr != nil { return terr } - return a.sendPhoneConfirmation(ctx, tx, user, params.Phone, phoneChangeVerification, smsProvider, sms_provider.SMSProvider) + return a.sendPhoneConfirmation(ctx, tx, user, user.PhoneChange, phoneChangeVerification, smsProvider, sms_provider.SMSProvider) } return nil }) diff --git a/internal/api/resend_test.go b/internal/api/resend_test.go index 2d5dc6997..d672d9869 100644 --- a/internal/api/resend_test.go +++ b/internal/api/resend_test.go @@ -66,14 +66,14 @@ func (ts *ResendTestSuite) TestResendValidation() { }, }, { - desc: "Type & phone mismatch", + desc: "Phone & email change type", params: map[string]interface{}{ "type": "email_change", "phone": "+123456789", }, expected: map[string]interface{}{ - "code": http.StatusBadRequest, - "message": "Type provided requires an email address", + "code": http.StatusOK, + "message": nil, }, }, {