starting with asset manager
parent
ac412385bb
commit
949f87800a
|
|
@ -0,0 +1,4 @@
|
|||
package de.itkl.assetmanager.interfaces
|
||||
interface AssetManager {
|
||||
fun assets(name: String): Assets
|
||||
}
|
||||
|
|
@ -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)
|
||||
}
|
||||
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
@ -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() }
|
||||
}
|
||||
Loading…
Reference in New Issue