starting with asset manager

3
Timo Bryant 2024-01-02 11:00:00 +01:00
parent ac412385bb
commit 949f87800a
5 changed files with 15 additions and 29 deletions

View File

@ -1,3 +1,3 @@
dependencies {
api(project(":libraries:core-api"))
}
}

View File

@ -0,0 +1,4 @@
package de.itkl.assetmanager.interfaces
interface AssetManager {
fun assets(name: String): Assets
}

View File

@ -0,0 +1,10 @@
package de.itkl.assetmanager.interfaces
import de.itkl.core_api.interfaces.Resource
import kotlinx.coroutines.flow.Flow
interface Assets : Flow<Resource> {
suspend fun store(resource: Resource)
suspend fun retrieve(name: String): Resource?
suspend fun delete(name: String)
}

View File

@ -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()
}
}

View File

@ -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<ResourceReadDecorator> { NoopResourceReadDecorator() }
}