Skip to content

Commit 516250d

Browse files
authored
Merge pull request #29 from vanniktech/sendEmailVerification
Firebase Auth: Add FirebaseUser.sendEmailVerification()
2 parents df6b000 + ab57ae9 commit 516250d

File tree

6 files changed

+15
-0
lines changed
  • firebase-auth/src
    • androidMain/kotlin/dev/gitlive/firebase/auth
    • commonMain/kotlin/dev/gitlive/firebase/auth
    • commonTest/kotlin/dev/gitlive/firebase/auth
    • iosMain/kotlin/dev/gitlive/firebase/auth
    • jsMain/kotlin/dev/gitlive/firebase/auth
  • firebase-common/src/jsMain/kotlin/dev/gitlive/firebase

6 files changed

+15
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ actual class FirebaseUser internal constructor(val android: com.google.firebase.
6767
get() = android.isAnonymous
6868
actual suspend fun delete() = android.delete().await().run { Unit }
6969
actual suspend fun reload() = android.reload().await().run { Unit }
70+
actual suspend fun sendEmailVerification() = android.sendEmailVerification().await().run { Unit }
7071
}
7172

7273
actual typealias FirebaseAuthException = com.google.firebase.auth.FirebaseAuthException

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ expect class FirebaseUser {
3737
val isAnonymous: Boolean
3838
suspend fun delete()
3939
suspend fun reload()
40+
suspend fun sendEmailVerification()
4041
}
4142

4243
expect open class FirebaseAuthException: FirebaseException

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ class FirebaseAuthTest {
5050
signInResult.user!!.delete()
5151
}
5252

53+
@Test
54+
fun testSendEmailVerification() = runTest {
55+
val email = "test+${Random.nextInt(100000)}@test.com"
56+
val createResult = Firebase.auth.createUserWithEmailAndPassword(email, "test123")
57+
assertNotEquals(null, createResult.user?.uid)
58+
createResult.user!!.sendEmailVerification()
59+
60+
createResult.user!!.delete()
61+
}
62+
5363
@Test
5464
fun sendPasswordResetEmail() = runTest {
5565
val email = "test+${Random.nextInt(100000)}@test.com"

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ actual class FirebaseUser internal constructor(val ios: FIRUser) {
6868
get() = ios.isAnonymous()
6969
actual suspend fun delete() = ios.await { deleteWithCompletion(it) }.run { Unit }
7070
actual suspend fun reload() = ios.await { reloadWithCompletion(it) }.run { Unit }
71+
actual suspend fun sendEmailVerification() = ios.await { sendEmailVerificationWithCompletion(it) }.run { Unit }
7172
}
7273

7374
actual open class FirebaseAuthException(message: String): FirebaseException(message)

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ actual class FirebaseUser internal constructor(val js: firebase.user.User) {
6363
get() = rethrow { js.isAnonymous }
6464
actual suspend fun delete() = rethrow { js.delete().await() }
6565
actual suspend fun reload() = rethrow { js.reload().await() }
66+
actual suspend fun sendEmailVerification() = rethrow { js.sendEmailVerification().await() }
6667
}
6768

6869
actual open class FirebaseAuthException(code: String?, cause: Throwable): FirebaseException(code, cause)

firebase-common/src/jsMain/kotlin/dev/gitlive/firebase/externals.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ external object firebase {
8383

8484
fun delete(): Promise<Unit>
8585
fun reload(): Promise<Unit>
86+
fun sendEmailVerification(): Promise<Unit>
8687
}
8788
}
8889

0 commit comments

Comments
 (0)