@@ -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.*
@@ -171,7 +172,7 @@ public actual open class FirebaseAuthEmailException(message: String) : FirebaseA
171172public actual open class FirebaseAuthInvalidCredentialsException (message : String ) : FirebaseAuthException(message)
172173public actual open class FirebaseAuthWeakPasswordException (message : String ) : FirebaseAuthInvalidCredentialsException(message)
173174public actual open class FirebaseAuthInvalidUserException (message : String ) : FirebaseAuthException(message)
174- public actual open class FirebaseAuthMultiFactorException (message : String ) : FirebaseAuthException(message)
175+ public actual open class FirebaseAuthMultiFactorException (message : String , public val resolver : FIRMultiFactorResolver ? ) : FirebaseAuthException(message)
175176public actual open class FirebaseAuthRecentLoginRequiredException (message : String ) : FirebaseAuthException(message)
176177public actual open class FirebaseAuthUserCollisionException (message : String ) : FirebaseAuthException(message)
177178public actual open class FirebaseAuthWebException (message : String ) : FirebaseAuthException(message)
@@ -248,7 +249,13 @@ private fun NSError.toException() = when (domain) {
248249 17078L , // AuthErrorCode.secondFactorRequired
249250 17088L , // AuthErrorCode.maximumSecondFactorCountExceeded
250251 17084L , // AuthErrorCode.multiFactorInfoNotFound
251- -> FirebaseAuthMultiFactorException (toString())
252+ -> {
253+ val resolver = userInfo[" FIRAuthErrorUserInfoMultiFactorResolverKey" ] as ? FIRMultiFactorResolver
254+ FirebaseAuthMultiFactorException (toString(), resolver)
255+ }
256+
257+ 17052L , // AuthErrorCode.quotaExceeded
258+ -> FirebaseTooManyRequestsException (toString())
252259
253260 17007L , // AuthErrorCode.emailAlreadyInUse
254261 17012L , // AuthErrorCode.accountExistsWithDifferentCredential
0 commit comments