Skip to content

Commit c331367

Browse files
committed
Fix storage upload
1 parent 51b26ca commit c331367

File tree

5 files changed

+10
-14
lines changed

5 files changed

+10
-14
lines changed

Diff for: Storage/src/commonMain/kotlin/io/github/jan/supacompose/storage/BucketApi.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ internal class BucketApiImpl(override val bucketId: String, val storage: Storage
157157
}
158158

159159
private suspend fun uploadOrUpdate(method: HttpMethod, bucket: String, path: String, body: ByteArray): String {
160-
return storage.makeRequest(method, "object/$bucket/$path") {
160+
return storage.makeRequest(method, "object/$bucket/$path", false) {
161161
setBody(body)
162162
}.body<JsonObject>()["Key"]?.jsonPrimitive?.content ?: throw IllegalStateException("Expected a key in a upload response")
163163
}

Diff for: Storage/src/commonMain/kotlin/io/github/jan/supacompose/storage/Storage.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ internal class StorageImpl(val supabaseClient: SupabaseClient) : Storage {
8787

8888
fun path(path: String) = "${supabaseClient.supabaseHttpUrl}/storage/v1/$path"
8989

90-
suspend inline fun makeRequest(method: HttpMethod, path: String, body: HttpRequestBuilder.() -> Unit = {}) = supabaseClient.httpClient.request(path(path)) {
90+
suspend inline fun makeRequest(method: HttpMethod, path: String, json: Boolean = true, body: HttpRequestBuilder.() -> Unit = {}) = supabaseClient.httpClient.request(path(path)) {
9191
this.method = method
92-
contentType(ContentType.Application.Json)
92+
if(json) contentType(ContentType.Application.Json)
9393
addAuthorization()
9494
body()
9595
}.also {

Diff for: buildSrc/src/main/kotlin/Versions.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ object Versions {
99
const val COROUTINES = "1.6.1"
1010
const val DOKKA = "1.6.21"
1111
const val NEXUS_STAGING = "0.30.0"
12-
const val SUPACOMPOSE = "0.0.8"
12+
const val SUPACOMPOSE = "0.0.9"
1313
const val KORLIBS = "2.7.0"
1414
const val ANDROID_COMPAT = "1.4.1"
1515
const val COMPOSE = "1.2.0-alpha01-dev686"

Diff for: desktopDemo/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ kotlin {
2525
dependencies {
2626
implementation(project(":Supacompose-Postgrest"))
2727
implementation(project(":Supacompose-Realtime"))
28+
implementation(project(":Supacompose-Storage"))
2829
api("org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.COROUTINES}")
2930

3031
implementation(compose.desktop.currentOs)

Diff for: desktopDemo/src/jvmMain/kotlin/Main.kt

+5-10
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ import io.github.jan.supacompose.auth.providers.Email
2323
import io.github.jan.supacompose.auth.sessionFile
2424
import io.github.jan.supacompose.createSupabaseClient
2525
import io.github.jan.supacompose.postgrest.Postgrest
26-
import io.github.jan.supacompose.postgrest.postgrest
2726
import io.github.jan.supacompose.realtime.Realtime
2827
import io.github.jan.supacompose.realtime.realtime
28+
import io.github.jan.supacompose.storage.Storage
29+
import io.github.jan.supacompose.storage.storage
30+
import io.github.jan.supacompose.storage.upload
2931
import kotlinx.coroutines.launch
30-
import kotlinx.datetime.Clock
3132
import kotlinx.serialization.Serializable
32-
import kotlinx.serialization.encodeToString
33-
import kotlinx.serialization.json.Json
3433
import java.io.File
3534

3635
@Serializable
@@ -47,6 +46,7 @@ suspend fun main() {
4746
}
4847
install(Postgrest)
4948
install(Realtime)
49+
install(Storage)
5050
}
5151
println(client.supabaseHttpUrl)
5252
application {
@@ -62,12 +62,7 @@ suspend fun main() {
6262
Box(contentAlignment = Alignment.TopCenter, modifier = Modifier.fillMaxSize()) {
6363
Button(onClick = {
6464
scope.launch {
65-
client.postgrest["products"].update<Any>({
66-
set("done_by", "f15b693b-233e-4229-a446-f19dc6c41c0e")
67-
set("done_since", Json.encodeToString(Clock.System.now()))
68-
}) {
69-
eq("id", 13)
70-
}
65+
client.storage["icons"].upload("icon.png", File("C:\\Users\\jan\\Pictures\\engel.png"))
7166
}
7267
}) {
7368
Text("Test")

0 commit comments

Comments
 (0)