include compose

This commit is contained in:
2022-01-22 20:19:50 +06:00
parent 4f96d2ce76
commit 0716035f0b
9 changed files with 119 additions and 106 deletions

View File

@@ -3,6 +3,8 @@ package dev.inmo.postssystem.features.files.common
import com.benasher44.uuid.uuid4
import dev.inmo.postssystem.features.files.common.storage.WriteFilesStorage
import dev.inmo.micro_utils.repos.*
import io.ktor.utils.io.core.copyTo
import io.ktor.utils.io.streams.asOutput
import kotlinx.coroutines.flow.*
import java.io.File
@@ -36,7 +38,7 @@ class WriteDistFilesStorage(
file = newId.file
} while (file.exists())
metasKeyValueRepo.set(newId, it.toMetaFileInfo())
file.writeBytes(it.inputProvider())
it.inputProvider().copyTo(file.outputStream().asOutput())
FullFileInfoStorageWrapper(newId, it)
}
@@ -52,13 +54,15 @@ class WriteDistFilesStorage(
override suspend fun update(
id: FileId,
value: FullFileInfo
): FullFileInfoStorageWrapper? = id.file.takeIf { it.exists() } ?.writeBytes(value.inputProvider()) ?.let {
): FullFileInfoStorageWrapper? {
val file = id.file.takeIf { it.exists() } ?: return null
value.inputProvider().copyTo(file.outputStream().asOutput())
val result = FullFileInfoStorageWrapper(id, value.copy())
metasKeyValueRepo.set(id, value.toMetaFileInfo())
_updatedObjectsFlow.emit(result)
result
return result
}
override suspend fun update(