@@ -9,6 +9,7 @@ import dev.gitlive.firebase.Firebase
99import dev.gitlive.firebase.FirebaseApp
1010import dev.gitlive.firebase.FirebaseException
1111import dev.gitlive.firebase.FirebaseNetworkException
12+ import dev.gitlive.firebase.FirebaseTooManyRequestsException
1213import dev.gitlive.firebase.auth.ActionCodeResult.*
1314import dev.gitlive.firebase.ios
1415import kotlinx.cinterop.*
@@ -164,7 +165,7 @@ public actual open class FirebaseAuthEmailException(message: String) : FirebaseA
164165public actual open class FirebaseAuthInvalidCredentialsException (message : String ) : FirebaseAuthException(message)
165166public actual open class FirebaseAuthWeakPasswordException (message : String ) : FirebaseAuthInvalidCredentialsException(message)
166167public actual open class FirebaseAuthInvalidUserException (message : String ) : FirebaseAuthException(message)
167- public actual open class FirebaseAuthMultiFactorException (message : String ) : FirebaseAuthException(message)
168+ public actual open class FirebaseAuthMultiFactorException (message : String , public val resolver : FIRMultiFactorResolver ? ) : FirebaseAuthException(message)
168169public actual open class FirebaseAuthRecentLoginRequiredException (message : String ) : FirebaseAuthException(message)
169170public actual open class FirebaseAuthUserCollisionException (message : String ) : FirebaseAuthException(message)
170171public actual open class FirebaseAuthWebException (message : String ) : FirebaseAuthException(message)
@@ -241,7 +242,13 @@ private fun NSError.toException() = when (domain) {
241242 17078L , // AuthErrorCode.secondFactorRequired
242243 17088L , // AuthErrorCode.maximumSecondFactorCountExceeded
243244 17084L , // AuthErrorCode.multiFactorInfoNotFound
244- -> FirebaseAuthMultiFactorException (toString())
245+ -> {
246+ val resolver = userInfo[" FIRAuthErrorUserInfoMultiFactorResolverKey" ] as ? FIRMultiFactorResolver
247+ FirebaseAuthMultiFactorException (toString(), resolver)
248+ }
249+
250+ 17052L , // AuthErrorCode.quotaExceeded
251+ -> FirebaseTooManyRequestsException (toString())
245252
246253 17007L , // AuthErrorCode.emailAlreadyInUse
247254 17012L , // AuthErrorCode.accountExistsWithDifferentCredential
0 commit comments