From 949f87800a0a3a228b1bc2a03d3bd099a02e8ba5 Mon Sep 17 00:00:00 2001 From: Timo Bryant Date: Tue, 2 Jan 2024 11:00:00 +0100 Subject: [PATCH] starting with asset manager --- .../{io => assetmanager}/build.gradle.kts | 2 +- .../assetmanager/interfaces/AssetManager.kt | 4 ++++ .../de/itkl/assetmanager/interfaces/Assets.kt | 10 ++++++++++ .../io/implementation/FileSystemResource.kt | 19 ------------------- .../io/src/main/kotlin/de/itkl/io/ioModule.kt | 9 --------- 5 files changed, 15 insertions(+), 29 deletions(-) rename libraries/{io => assetmanager}/build.gradle.kts (96%) create mode 100644 libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/AssetManager.kt create mode 100644 libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/Assets.kt delete mode 100644 libraries/io/src/main/kotlin/de/itkl/io/implementation/FileSystemResource.kt delete mode 100644 libraries/io/src/main/kotlin/de/itkl/io/ioModule.kt diff --git a/libraries/io/build.gradle.kts b/libraries/assetmanager/build.gradle.kts similarity index 96% rename from libraries/io/build.gradle.kts rename to libraries/assetmanager/build.gradle.kts index f65fc07..0e40257 100644 --- a/libraries/io/build.gradle.kts +++ b/libraries/assetmanager/build.gradle.kts @@ -1,3 +1,3 @@ dependencies { api(project(":libraries:core-api")) -} \ No newline at end of file +} diff --git a/libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/AssetManager.kt b/libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/AssetManager.kt new file mode 100644 index 0000000..ebf33c4 --- /dev/null +++ b/libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/AssetManager.kt @@ -0,0 +1,4 @@ +package de.itkl.assetmanager.interfaces +interface AssetManager { + fun assets(name: String): Assets +} \ No newline at end of file diff --git a/libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/Assets.kt b/libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/Assets.kt new file mode 100644 index 0000000..38653e3 --- /dev/null +++ b/libraries/assetmanager/src/main/kotlin/de/itkl/assetmanager/interfaces/Assets.kt @@ -0,0 +1,10 @@ +package de.itkl.assetmanager.interfaces + +import de.itkl.core_api.interfaces.Resource +import kotlinx.coroutines.flow.Flow + +interface Assets : Flow { + suspend fun store(resource: Resource) + suspend fun retrieve(name: String): Resource? + suspend fun delete(name: String) +} \ No newline at end of file diff --git a/libraries/io/src/main/kotlin/de/itkl/io/implementation/FileSystemResource.kt b/libraries/io/src/main/kotlin/de/itkl/io/implementation/FileSystemResource.kt deleted file mode 100644 index 519ea73..0000000 --- a/libraries/io/src/main/kotlin/de/itkl/io/implementation/FileSystemResource.kt +++ /dev/null @@ -1,19 +0,0 @@ -package de.itkl.io.implementation - -import de.itkl.core_api.interfaces.Resource -import io.ktor.http.* -import java.io.File -import java.io.InputStream - -class FileSystemResource(private val file: File) : Resource() { - override val filename: String - get() = file.name - override val contentType: ContentType - get() = ContentType.fromFilePath(file.path).first() - override val length: Long - get() = file.length() - - override fun doRead(): InputStream { - return file.inputStream() - } -} \ No newline at end of file diff --git a/libraries/io/src/main/kotlin/de/itkl/io/ioModule.kt b/libraries/io/src/main/kotlin/de/itkl/io/ioModule.kt deleted file mode 100644 index d242b35..0000000 --- a/libraries/io/src/main/kotlin/de/itkl/io/ioModule.kt +++ /dev/null @@ -1,9 +0,0 @@ -package de.itkl.io - -import de.itkl.core_api.interfaces.NoopResourceReadDecorator -import de.itkl.core_api.interfaces.ResourceReadDecorator -import org.koin.dsl.module - -val ioModule = module { - single { NoopResourceReadDecorator() } -} \ No newline at end of file