Skip to content

Commit

Permalink
feat(auth): verifyBeforeUpdateEmail API (invertase#3862)
Browse files Browse the repository at this point in the history
* feat(auth): 1st commit verifyBeforeUpdateEmail

* feat(auth): verifyBeforeUpdateEmail updates

* tests(auth): more coverage

* chore(ios): update podfile.lock

* tests(auth): update verifyBeforeUpdateEmail tests

* tests(auth): verifyBeforeUpdateEmail updates
[publish]
  • Loading branch information
russellwheatley authored Jul 10, 2020
1 parent 5197d5b commit 910b1de
Show file tree
Hide file tree
Showing 5 changed files with 645 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,52 @@ public void sendEmailVerification(
}
}

/**
* verifyBeforeUpdateEmail
*
* @param promise
*/
@ReactMethod
public void verifyBeforeUpdateEmail(
String appName,
String email,
ReadableMap actionCodeSettings,
final Promise promise
) {
FirebaseApp firebaseApp = FirebaseApp.getInstance(appName);
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(firebaseApp);

FirebaseUser user = firebaseAuth.getCurrentUser();
Log.d(TAG, "verifyBeforeUpdateEmail");

if (user == null) {
promiseNoUser(promise, false);
Log.e(TAG, "verifyBeforeUpdateEmail:failure:noCurrentUser");
} else {
OnCompleteListener<Void> listener = task -> {
if (task.isSuccessful()) {
Log.d(TAG, "verifyBeforeUpdateEmail:onComplete:success");
promiseWithUser(firebaseAuth.getCurrentUser(), promise);
} else {
Exception exception = task.getException();
Log.e(TAG, "verifyBeforeUpdateEmail:onComplete:failure", exception);
promiseRejectAuthException(promise, exception);
}
};

if (actionCodeSettings == null) {
user
.verifyBeforeUpdateEmail(email)
.addOnCompleteListener(getExecutor(), listener);
} else {
ActionCodeSettings settings = buildActionCodeSettings(actionCodeSettings);
user
.verifyBeforeUpdateEmail(email, settings)
.addOnCompleteListener(getExecutor(), listener);
}
}
}

/**
* updateEmail
*
Expand Down
Loading

0 comments on commit 910b1de

Please sign in to comment.