Skip to content

Commit bc02afe

Browse files
author
Bas Buijsen
committed
add ktx syntax for storage metadata
1 parent 92277bf commit bc02afe

File tree

3 files changed

+23
-12
lines changed
  • firebase-storage/src
    • androidMain/kotlin/dev/gitlive/firebase/storage
    • commonMain/kotlin/dev/gitlive/firebase/storage
    • iosMain/kotlin/dev/gitlive/firebase/storage

3 files changed

+23
-12
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ fun FirebaseStorageMetadata.toStorageMetadata(): StorageMetadata {
126126
.setContentLanguage(this.contentLanguage)
127127
.setContentType(this.contentType)
128128
.apply {
129-
customMetadata?.entries?.forEach {
129+
customMetadata.entries.forEach {
130130
(key, value) -> setCustomMetadata(key, value)
131131
}
132132
}.build()

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

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,26 @@ interface ProgressFlow : Flow<Progress> {
6464
fun cancel()
6565
}
6666

67-
6867
expect class FirebaseStorageException : FirebaseException
6968

7069
data class FirebaseStorageMetadata(
71-
val md5Hash: String? = null,
72-
val cacheControl: String? = null,
73-
val contentDisposition: String? = null,
74-
val contentEncoding: String? = null,
75-
val contentLanguage: String? = null,
76-
val contentType: String? = null,
77-
val customMetadata: Map<String, String>? = null
78-
)
70+
var md5Hash: String? = null,
71+
var cacheControl: String? = null,
72+
var contentDisposition: String? = null,
73+
var contentEncoding: String? = null,
74+
var contentLanguage: String? = null,
75+
var contentType: String? = null,
76+
var customMetadata: MutableMap<String, String> = mutableMapOf()
77+
) {
78+
fun setCustomMetadata(key: String, value: String?) {
79+
value?.let {
80+
customMetadata[key] = it
81+
}
82+
}
83+
}
84+
85+
fun storageMetadata(init: FirebaseStorageMetadata.() -> Unit): FirebaseStorageMetadata {
86+
val metadata = FirebaseStorageMetadata()
87+
metadata.init()
88+
return metadata
89+
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ suspend inline fun <T, reified R> T.awaitResult(function: T.(callback: (R?, NSEr
151151

152152
fun FirebaseStorageMetadata.toFIRMetadata(): FIRStorageMetadata {
153153
val metadata = FIRStorageMetadata()
154-
val mappedMetadata: Map<Any?, String>? = this.customMetadata?.map {
154+
val mappedMetadata: Map<Any?, String> = this.customMetadata.map {
155155
it.key to it.value
156-
}?.toMap()
156+
}.toMap()
157157
metadata.setCustomMetadata(mappedMetadata)
158158
metadata.setCacheControl(this.cacheControl)
159159
metadata.setContentDisposition(this.contentDisposition)

0 commit comments

Comments
 (0)