Skip to content

Commit ba73861

Browse files
authored
Merge pull request #592 from siarhei-luskanau/firebase-cocoapods-11.1.0
Updated firebase-cocoapods to "11.1.0"
2 parents a1c9f57 + 0428e26 commit ba73861

File tree

6 files changed

+83
-75
lines changed

6 files changed

+83
-75
lines changed

firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth/auth.kt

Lines changed: 52 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public actual fun Firebase.auth(app: FirebaseApp): FirebaseAuth = FirebaseAuth(
3131
public actual class FirebaseAuth internal constructor(internal val ios: FIRAuth) {
3232

3333
public actual val currentUser: FirebaseUser?
34-
get() = ios.currentUser?.let { FirebaseUser(it) }
34+
get() = ios.currentUser()?.let { FirebaseUser(it) }
3535

3636
public actual val authStateChanged: Flow<FirebaseUser?> get() = callbackFlow {
3737
val handle = ios.addAuthStateDidChangeListener { _, user -> trySend(user?.let { FirebaseUser(it) }) }
@@ -44,7 +44,7 @@ public actual class FirebaseAuth internal constructor(internal val ios: FIRAuth)
4444
}
4545

4646
public actual var languageCode: String
47-
get() = ios.languageCode ?: ""
47+
get() = ios.languageCode() ?: ""
4848
set(value) {
4949
ios.setLanguageCode(value)
5050
}
@@ -90,15 +90,15 @@ public actual class FirebaseAuth internal constructor(internal val ios: FIRAuth)
9090
public actual suspend fun <T : ActionCodeResult> checkActionCode(code: String): T {
9191
val result: FIRActionCodeInfo = ios.awaitResult { checkActionCode(code, it) }
9292
@Suppress("UNCHECKED_CAST")
93-
return when (result.operation) {
93+
return when (result.operation()) {
9494
FIRActionCodeOperationEmailLink -> SignInWithEmailLink
95-
FIRActionCodeOperationVerifyEmail -> VerifyEmail(result.email!!)
96-
FIRActionCodeOperationPasswordReset -> PasswordReset(result.email!!)
97-
FIRActionCodeOperationRecoverEmail -> RecoverEmail(result.email!!, result.previousEmail!!)
98-
FIRActionCodeOperationVerifyAndChangeEmail -> VerifyBeforeChangeEmail(result.email!!, result.previousEmail!!)
99-
FIRActionCodeOperationRevertSecondFactorAddition -> RevertSecondFactorAddition(result.email!!, null)
100-
FIRActionCodeOperationUnknown -> throw UnsupportedOperationException(result.operation.toString())
101-
else -> throw UnsupportedOperationException(result.operation.toString())
95+
FIRActionCodeOperationVerifyEmail -> VerifyEmail(result.email())
96+
FIRActionCodeOperationPasswordReset -> PasswordReset(result.email())
97+
FIRActionCodeOperationRecoverEmail -> RecoverEmail(result.email(), result.previousEmail()!!)
98+
FIRActionCodeOperationVerifyAndChangeEmail -> VerifyBeforeChangeEmail(result.email(), result.previousEmail()!!)
99+
FIRActionCodeOperationRevertSecondFactorAddition -> RevertSecondFactorAddition(result.email(), null)
100+
FIRActionCodeOperationUnknown -> throw UnsupportedOperationException(result.operation().toString())
101+
else -> throw UnsupportedOperationException(result.operation().toString())
102102
} as T
103103
}
104104

@@ -108,31 +108,31 @@ public val AuthResult.ios: FIRAuthDataResult get() = ios
108108

109109
public actual class AuthResult internal constructor(internal val ios: FIRAuthDataResult) {
110110
public actual val user: FirebaseUser?
111-
get() = FirebaseUser(ios.user)
111+
get() = FirebaseUser(ios.user())
112112
}
113113

114114
public val AuthTokenResult.ios: FIRAuthTokenResult get() = ios
115115
public actual class AuthTokenResult(internal val ios: FIRAuthTokenResult) {
116116
// actual val authTimestamp: Long
117117
// get() = ios.authDate
118118
public actual val claims: Map<String, Any>
119-
get() = ios.claims.map { it.key.toString() to it.value as Any }.toMap()
119+
get() = ios.claims().map { it.key.toString() to it.value as Any }.toMap()
120120

121121
// actual val expirationTimestamp: Long
122122
// get() = ios.expirationDate
123123
// actual val issuedAtTimestamp: Long
124124
// get() = ios.issuedAtDate
125125
public actual val signInProvider: String?
126-
get() = ios.signInProvider
126+
get() = ios.signInProvider()
127127
public actual val token: String?
128-
get() = ios.token
128+
get() = ios.token()
129129
}
130130

131131
internal fun ActionCodeSettings.toIos() = FIRActionCodeSettings().also {
132-
it.URL = NSURL.URLWithString(url)
132+
it.setURL(NSURL.URLWithString(url))
133133
androidPackageName?.run { it.setAndroidPackageName(packageName, installIfNotAvailable, minimumVersion) }
134-
it.dynamicLinkDomain = dynamicLinkDomain
135-
it.handleCodeInApp = canHandleCodeInApp
134+
it.setDynamicLinkDomain(dynamicLinkDomain)
135+
it.setHandleCodeInApp(canHandleCodeInApp)
136136
iOSBundleId?.run { it.setIOSBundleID(this) }
137137
}
138138

@@ -184,47 +184,55 @@ internal suspend inline fun <T> T.await(function: T.(callback: (NSError?) -> Uni
184184
}
185185

186186
private fun NSError.toException() = when (domain) {
187+
// codes from AuthErrors.swift: https://github.com/firebase/firebase-ios-sdk/blob/
188+
// 2f6ac4c2c61cd57c7ea727009e187b7e1163d613/FirebaseAuth/Sources/Swift/Utilities/
189+
// AuthErrors.swift#L51
187190
FIRAuthErrorDomain -> when (code) {
188-
FIRAuthErrorCodeInvalidActionCode,
189-
FIRAuthErrorCodeExpiredActionCode,
191+
17030L, // AuthErrorCode.invalidActionCode
192+
17029L, // AuthErrorCode.expiredActionCode
190193
-> FirebaseAuthActionCodeException(toString())
191194

192-
FIRAuthErrorCodeInvalidEmail -> FirebaseAuthEmailException(toString())
193-
194-
FIRAuthErrorCodeCaptchaCheckFailed,
195-
FIRAuthErrorCodeInvalidPhoneNumber,
196-
FIRAuthErrorCodeMissingPhoneNumber,
197-
FIRAuthErrorCodeInvalidVerificationID,
198-
FIRAuthErrorCodeInvalidVerificationCode,
199-
FIRAuthErrorCodeMissingVerificationID,
200-
FIRAuthErrorCodeMissingVerificationCode,
201-
FIRAuthErrorCodeUserTokenExpired,
202-
FIRAuthErrorCodeInvalidCredential,
195+
17008L, // AuthErrorCode.invalidEmail
196+
-> FirebaseAuthEmailException(toString())
197+
198+
17056L, // AuthErrorCode.captchaCheckFailed
199+
17042L, // AuthErrorCode.invalidPhoneNumber
200+
17041L, // AuthErrorCode.missingPhoneNumber
201+
17046L, // AuthErrorCode.invalidVerificationID
202+
17044L, // AuthErrorCode.invalidVerificationCode
203+
17045L, // AuthErrorCode.missingVerificationID
204+
17043L, // AuthErrorCode.missingVerificationCode
205+
17021L, // AuthErrorCode.userTokenExpired
206+
17004L, // AuthErrorCode.invalidCredential
203207
-> FirebaseAuthInvalidCredentialsException(toString())
204208

205-
FIRAuthErrorCodeWeakPassword -> FirebaseAuthWeakPasswordException(toString())
209+
17026L, // AuthErrorCode.weakPassword
210+
-> FirebaseAuthWeakPasswordException(toString())
206211

207-
FIRAuthErrorCodeInvalidUserToken -> FirebaseAuthInvalidUserException(toString())
212+
17017L, // AuthErrorCode.invalidUserToken
213+
-> FirebaseAuthInvalidUserException(toString())
208214

209-
FIRAuthErrorCodeRequiresRecentLogin -> FirebaseAuthRecentLoginRequiredException(toString())
215+
17014L, // AuthErrorCode.requiresRecentLogin
216+
-> FirebaseAuthRecentLoginRequiredException(toString())
210217

211-
FIRAuthErrorCodeSecondFactorAlreadyEnrolled,
212-
FIRAuthErrorCodeSecondFactorRequired,
213-
FIRAuthErrorCodeMaximumSecondFactorCountExceeded,
214-
FIRAuthErrorCodeMultiFactorInfoNotFound,
218+
17087L, // AuthErrorCode.secondFactorAlreadyEnrolled
219+
17078L, // AuthErrorCode.secondFactorRequired
220+
17088L, // AuthErrorCode.maximumSecondFactorCountExceeded
221+
17084L, // AuthErrorCode.multiFactorInfoNotFound
215222
-> FirebaseAuthMultiFactorException(toString())
216223

217-
FIRAuthErrorCodeEmailAlreadyInUse,
218-
FIRAuthErrorCodeAccountExistsWithDifferentCredential,
219-
FIRAuthErrorCodeCredentialAlreadyInUse,
224+
17007L, // AuthErrorCode.emailAlreadyInUse
225+
17012L, // AuthErrorCode.accountExistsWithDifferentCredential
226+
17025L, // AuthErrorCode.credentialAlreadyInUse
220227
-> FirebaseAuthUserCollisionException(toString())
221228

222-
FIRAuthErrorCodeWebContextAlreadyPresented,
223-
FIRAuthErrorCodeWebContextCancelled,
224-
FIRAuthErrorCodeWebInternalError,
229+
17057L, // AuthErrorCode.webContextAlreadyPresented
230+
17058L, // AuthErrorCode.webContextCancelled
231+
17062L, // AuthErrorCode.webInternalError
225232
-> FirebaseAuthWebException(toString())
226233

227-
FIRAuthErrorCodeNetworkError -> FirebaseNetworkException(toString())
234+
17020L, // AuthErrorCode.networkError
235+
-> FirebaseNetworkException(toString())
228236

229237
else -> FirebaseAuthException(toString())
230238
}

firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth/credentials.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import cocoapods.FirebaseAuth.*
88

99
public actual open class AuthCredential(public open val ios: FIRAuthCredential) {
1010
public actual val providerId: String
11-
get() = ios.provider
11+
get() = ios.provider()
1212
}
1313

1414
public actual class PhoneAuthCredential(override val ios: FIRPhoneAuthCredential) : AuthCredential(ios)

firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth/multifactor.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public val MultiFactor.ios: FIRMultiFactor get() = ios
1010

1111
public actual class MultiFactor(internal val ios: FIRMultiFactor) {
1212
public actual val enrolledFactors: List<MultiFactorInfo>
13-
get() = ios.enrolledFactors.mapNotNull { info -> (info as? FIRMultiFactorInfo)?.let { MultiFactorInfo(it) } }
13+
get() = ios.enrolledFactors().mapNotNull { info -> (info as? FIRMultiFactorInfo)?.let { MultiFactorInfo(it) } }
1414
public actual suspend fun enroll(multiFactorAssertion: MultiFactorAssertion, displayName: String?): Unit = ios.await { enrollWithAssertion(multiFactorAssertion.ios, displayName, it) }
1515
public actual suspend fun getSession(): MultiFactorSession = MultiFactorSession(ios.awaitResult { getSessionWithCompletion(completion = it) })
1616
public actual suspend fun unenroll(multiFactorInfo: MultiFactorInfo): Unit = ios.await { unenrollWithInfo(multiFactorInfo.ios, it) }
@@ -21,20 +21,20 @@ public val MultiFactorInfo.ios: FIRMultiFactorInfo get() = ios
2121

2222
public actual class MultiFactorInfo(internal val ios: FIRMultiFactorInfo) {
2323
public actual val displayName: String?
24-
get() = ios.displayName
24+
get() = ios.displayName()
2525
public actual val enrollmentTime: Double
26-
get() = ios.enrollmentDate.timeIntervalSinceReferenceDate
26+
get() = ios.enrollmentDate().timeIntervalSinceReferenceDate
2727
public actual val factorId: String
28-
get() = ios.factorID
28+
get() = ios.factorID()
2929
public actual val uid: String
30-
get() = ios.UID
30+
get() = ios.UID()
3131
}
3232

3333
public val MultiFactorAssertion.ios: FIRMultiFactorAssertion get() = ios
3434

3535
public actual class MultiFactorAssertion(internal val ios: FIRMultiFactorAssertion) {
3636
public actual val factorId: String
37-
get() = ios.factorID
37+
get() = ios.factorID()
3838
}
3939

4040
public val MultiFactorSession.ios: FIRMultiFactorSession get() = ios
@@ -44,9 +44,9 @@ public actual class MultiFactorSession(internal val ios: FIRMultiFactorSession)
4444
public val MultiFactorResolver.ios: FIRMultiFactorResolver get() = ios
4545

4646
public actual class MultiFactorResolver(internal val ios: FIRMultiFactorResolver) {
47-
public actual val auth: FirebaseAuth = FirebaseAuth(ios.auth)
48-
public actual val hints: List<MultiFactorInfo> = ios.hints.mapNotNull { hint -> (hint as? FIRMultiFactorInfo)?.let { MultiFactorInfo(it) } }
49-
public actual val session: MultiFactorSession = MultiFactorSession(ios.session)
47+
public actual val auth: FirebaseAuth = FirebaseAuth(ios.auth())
48+
public actual val hints: List<MultiFactorInfo> = ios.hints().mapNotNull { hint -> (hint as? FIRMultiFactorInfo)?.let { MultiFactorInfo(it) } }
49+
public actual val session: MultiFactorSession = MultiFactorSession(ios.session())
5050

5151
public actual suspend fun resolveSignIn(assertion: MultiFactorAssertion): AuthResult = AuthResult(ios.awaitResult { resolveSignInWithAssertion(assertion.ios, it) })
5252
}

firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth/user.kt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@ public val FirebaseUser.ios: FIRUser get() = ios
1414

1515
public actual class FirebaseUser internal constructor(internal val ios: FIRUser) {
1616
public actual val uid: String
17-
get() = ios.uid
17+
get() = ios.uid()
1818
public actual val displayName: String?
19-
get() = ios.displayName
19+
get() = ios.displayName()
2020
public actual val email: String?
21-
get() = ios.email
21+
get() = ios.email()
2222
public actual val phoneNumber: String?
23-
get() = ios.phoneNumber
23+
get() = ios.phoneNumber()
2424
public actual val photoURL: String?
25-
get() = ios.photoURL?.absoluteString
25+
get() = ios.photoURL()?.absoluteString
2626
public actual val isAnonymous: Boolean
27-
get() = ios.anonymous
27+
get() = ios.anonymous()
2828
public actual val isEmailVerified: Boolean
29-
get() = ios.emailVerified
29+
get() = ios.emailVerified()
3030
public actual val metaData: UserMetaData?
31-
get() = UserMetaData(ios.metadata)
31+
get() = UserMetaData(ios.metadata())
3232
public actual val multiFactor: MultiFactor
33-
get() = MultiFactor(ios.multiFactor)
33+
get() = MultiFactor(ios.multiFactor())
3434
public actual val providerData: List<UserInfo>
35-
get() = ios.providerData.mapNotNull { provider -> (provider as? FIRUserInfoProtocol)?.let { UserInfo(it) } }
35+
get() = ios.providerData().mapNotNull { provider -> (provider as? FIRUserInfoProtocol)?.let { UserInfo(it) } }
3636
public actual val providerId: String
37-
get() = ios.providerID
37+
get() = ios.providerID()
3838

3939
public actual suspend fun delete(): Unit = ios.await { deleteWithCompletion(it) }
4040

@@ -85,24 +85,24 @@ public val UserInfo.ios: FIRUserInfoProtocol get() = ios
8585

8686
public actual class UserInfo(internal val ios: FIRUserInfoProtocol) {
8787
public actual val displayName: String?
88-
get() = ios.displayName
88+
get() = ios.displayName()
8989
public actual val email: String?
90-
get() = ios.email
90+
get() = ios.email()
9191
public actual val phoneNumber: String?
92-
get() = ios.phoneNumber
92+
get() = ios.phoneNumber()
9393
public actual val photoURL: String?
94-
get() = ios.photoURL?.absoluteString
94+
get() = ios.photoURL()?.absoluteString
9595
public actual val providerId: String
96-
get() = ios.providerID
96+
get() = ios.providerID()
9797
public actual val uid: String
98-
get() = ios.uid
98+
get() = ios.uid()
9999
}
100100

101101
public val UserMetaData.ios: FIRUserMetadata get() = ios
102102

103103
public actual class UserMetaData(internal val ios: FIRUserMetadata) {
104104
public actual val creationTime: Double?
105-
get() = ios.creationDate?.timeIntervalSinceReferenceDate
105+
get() = ios.creationDate()?.timeIntervalSinceReferenceDate
106106
public actual val lastSignInTime: Double?
107-
get() = ios.lastSignInDate?.timeIntervalSinceReferenceDate
107+
get() = ios.lastSignInDate()?.timeIntervalSinceReferenceDate
108108
}

firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/Timestamp.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.gitlive.firebase.firestore
22

3-
import cocoapods.FirebaseFirestoreInternal.FIRTimestamp
3+
import cocoapods.FirebaseCore.FIRTimestamp
44
import kotlinx.serialization.Serializable
55

66
/** A class representing a platform specific Firebase Timestamp. */

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ kotlinx-datetime = "0.6.1"
1616
kotlinter = "4.4.1"
1717
settings-api = "2.0"
1818
settings-language = "2.0"
19-
firebase-cocoapods = "10.28.0"
19+
firebase-cocoapods = "11.1.0"
2020
ios-deploymentTarget = "13.0"
2121
test-logger-plugin = "4.0.0"
2222
dokka = "1.9.20"

0 commit comments

Comments
 (0)