start second (or third?) reborn

This commit is contained in:
2024-02-16 13:40:47 +06:00
parent ff973e63fc
commit e98a484c4d
72 changed files with 173 additions and 200 deletions
build.gradle
client/src/androidMain
defaultAndroidSettings.gradleextensions.gradle
features
auth
client
common
server
src
jvmMain
kotlin
dev
inmo
postssystem
client
template
client
common
common
client
src
jsMain
kotlin
dev
inmo
postssystem
features
common
main
common
src
commonMain
kotlin
dev
inmo
postssystem
features
jvmMain
kotlin
dev
inmo
postssystem
features
linuxX64Main
kotlin
dev
inmo
postssystem
features
main
mingwX64Main
kotlin
dev
inmo
postssystem
features
content
binary
client
common
client
common
text
client
common
files
client
src
commonMain
kotlin
dev
inmo
postssystem
features
main
common
src
jvmMain
kotlin
dev
inmo
postssystem
features
main
posts
client
common
src
commonMain
kotlin
dev
inmo
postssystem
features
posts
common
main
server
src
jvmMain
kotlin
dev
inmo
postssystem
features
publication
client
common
roles
client
common
manager
client
common
status
client
src
commonMain
kotlin
dev
inmo
postssystem
features
main
common
template
client
common
users
client
common
build.gradle
src
commonMain
kotlin
dev
inmo
postssystem
features
users
common
jvmMain
kotlin
dev
inmo
postssystem
features
main
gradle
mppAndroidProject.gradlemppJavaProject.gradlemppJsProject.gradlemppProjectWithSerialization.gradle
publicators
simple
client
src
common
src
template
client
src
common
src
publish.gradle
services
posts
client
src
common
src
template
client
src
common
src
settings.gradle
targets/telegram
content
polls
client
src
common
src
loader
client
src
common
src
template
client
src
common
src

@@ -2,28 +2,28 @@ package dev.inmo.postssystem.features.files.client
import dev.inmo.postssystem.features.files.common.*
import dev.inmo.postssystem.features.files.common.storage.ReadFilesStorage
import dev.inmo.micro_utils.ktor.client.UnifiedRequester
import dev.inmo.micro_utils.ktor.client.bodyOrNull
import dev.inmo.micro_utils.ktor.common.buildStandardUrl
import dev.inmo.micro_utils.repos.ReadCRUDRepo
import dev.inmo.micro_utils.repos.ktor.client.crud.KtorReadStandardCrudRepo
import dev.inmo.micro_utils.repos.ktor.client.crud.KtorReadCRUDRepoClient
import io.ktor.client.HttpClient
import io.ktor.client.request.post
import io.ktor.client.request.setBody
import io.ktor.client.statement.HttpResponse
import io.ktor.client.request.*
import io.ktor.client.statement.readBytes
import io.ktor.http.ContentType
import io.ktor.http.encodeURLQueryComponent
import kotlinx.serialization.BinaryFormat
import kotlinx.serialization.builtins.nullable
class ClientReadFilesStorage(
baseUrl: String,
private val client: HttpClient,
private val serialFormat: BinaryFormat
) : ReadFilesStorage, ReadCRUDRepo<MetaFileInfoStorageWrapper, FileId> by KtorReadStandardCrudRepo(
private val serialFormat: BinaryFormat,
contentType: ContentType
) : ReadFilesStorage, ReadCRUDRepo<MetaFileInfoStorageWrapper, FileId> by KtorReadCRUDRepoClient<MetaFileInfoStorageWrapper, FileId>(
buildStandardUrl(baseUrl, filesRootPathPart),
UnifiedRequester(client, serialFormat),
MetaFileInfoStorageWrapper.serializer(),
MetaFileInfoStorageWrapper.serializer().nullable,
FileId.serializer()
client,
contentType,
{ it.string.encodeURLQueryComponent() }
) {
private val fullFilesPath = buildStandardUrl(baseUrl, filesRootPathPart)
private val fullFilesGetBytesPath = buildStandardUrl(
@@ -37,12 +37,11 @@ class ClientReadFilesStorage(
override suspend fun getFullFileInfo(
id: FileId
): FullFileInfoStorageWrapper? = unifiedRequester.uniget(
): FullFileInfoStorageWrapper? = client.get(
buildStandardUrl(
fullFilesPath,
filesGetFullFileInfoPathPart,
filesFileIdParameter to unifiedRequester.encodeUrlQueryValue(FileId.serializer(), id)
),
FullFileInfoStorageWrapper.serializer().nullable
)
filesFileIdParameter to id.string.encodeURLQueryComponent()
)
).bodyOrNull()
}

@@ -1 +0,0 @@
<manifest package="dev.inmo.postssystem.features.files.client"/>