Skip to content

Commit 44577db

Browse files
committed
Added firebase auth
1 parent f75796f commit 44577db

File tree

4 files changed

+88
-0
lines changed

4 files changed

+88
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ local.properties
77

88
firebase-app/src/iosMain/c_interop/modules/
99
firebase-functions/src/iosMain/c_interop/modules/
10+
firebase-auth/src/iosMain/c_interop/modules/

firebase-auth/build.gradle.kts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import org.apache.tools.ant.taskdefs.condition.Os
33
plugins {
44
id("com.android.library")
55
kotlin("multiplatform")
6+
kotlin("native.cocoapods")
67
`maven-publish`
78
}
89

@@ -42,6 +43,14 @@ kotlin {
4243
}
4344
}
4445

46+
tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
47+
kotlinOptions.freeCompilerArgs += listOf(
48+
"-Xuse-experimental=kotlin.Experimental",
49+
"-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
50+
"-Xuse-experimental=kotlinx.serialization.ImplicitReflectionSerializer"
51+
)
52+
}
53+
4554
sourceSets {
4655
val commonMain by getting {
4756
dependencies {
@@ -56,11 +65,28 @@ kotlin {
5665
}
5766
val iosMain by creating {
5867
dependencies {
68+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-native:1.3.3")
5969
}
6070
}
6171
val jvmMain by getting {
6272
kotlin.srcDir("src/androidMain/kotlin")
6373
}
74+
75+
configure(listOf(iosArm64, iosX64)) {
76+
compilations.getByName("main") {
77+
source(sourceSets.get("iosMain"))
78+
val firebaseAuth by cinterops.creating {
79+
packageName("cocoapods.FirebaseAuth")
80+
defFile(file("$projectDir/src/iosMain/c_interop/FirebaseAuth.def"))
81+
compilerOpts("-F$projectDir/src/iosMain/c_interop/modules/FirebaseAuth-6.17.0")
82+
}
83+
}
84+
}
85+
86+
cocoapods {
87+
summary = ""
88+
homepage = ""
89+
}
6490
}
6591
}
6692

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
language = Objective-C
2+
modules = FirebaseAuth
3+
compilerOpts = -framework FirebaseAuth
4+
linkerOpts = -framework FirebaseAuth
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package dev.teamhub.firebase.auth
2+
3+
import dev.teamhub.firebase.Firebase
4+
import dev.teamhub.firebase.FirebaseApp
5+
import dev.teamhub.firebase.FirebaseException
6+
7+
actual val Firebase.auth: FirebaseAuth
8+
get() = kotlin.TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
9+
10+
actual fun Firebase.auth(app: FirebaseApp): FirebaseAuth {
11+
kotlin.TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
12+
}
13+
14+
actual class FirebaseAuth {
15+
actual val currentUser: FirebaseUser?
16+
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
17+
actual val authStateChanged: kotlinx.coroutines.flow.Flow<FirebaseUser?>
18+
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
19+
20+
actual suspend fun signInWithCustomToken(token: String): AuthResult {
21+
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
22+
}
23+
24+
actual suspend fun signInAnonymously(): AuthResult {
25+
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
26+
}
27+
28+
actual suspend fun signOut() {
29+
}
30+
}
31+
32+
actual class AuthResult {
33+
actual val user: FirebaseUser?
34+
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
35+
}
36+
37+
actual class FirebaseUser {
38+
actual val uid: String
39+
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
40+
actual val isAnonymous: Boolean
41+
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
42+
43+
actual suspend fun delete() {
44+
}
45+
46+
actual suspend fun reload() {
47+
}
48+
}
49+
50+
actual open class FirebaseAuthException : FirebaseException()
51+
actual class FirebaseAuthActionCodeException : FirebaseAuthException()
52+
actual class FirebaseAuthEmailException : FirebaseAuthException()
53+
actual class FirebaseAuthInvalidCredentialsException : FirebaseAuthException()
54+
actual class FirebaseAuthInvalidUserException : FirebaseAuthException()
55+
actual class FirebaseAuthRecentLoginRequiredException : FirebaseAuthException()
56+
actual class FirebaseAuthUserCollisionException : FirebaseAuthException()
57+
actual class FirebaseAuthWebException : FirebaseAuthException()

0 commit comments

Comments
 (0)