start migration onto ktor-based serialization of data
This commit is contained in:
@@ -5,7 +5,7 @@ import dev.inmo.postssystem.services.posts.common.*
|
||||
|
||||
class ClientPostsService(
|
||||
baseUrl: String,
|
||||
unifiedRequester: UnifiedRequester
|
||||
client: HttpClient
|
||||
) : PostsService,
|
||||
ReadPostsService by ClientReadPostsService(baseUrl, unifiedRequester),
|
||||
WritePostsService by ClientWritePostsService(baseUrl, unifiedRequester)
|
||||
ReadPostsService by ClientReadPostsService(baseUrl, client),
|
||||
WritePostsService by ClientWritePostsService(baseUrl, client)
|
||||
|
||||
@@ -12,10 +12,10 @@ import kotlinx.serialization.builtins.nullable
|
||||
|
||||
class ClientReadPostsService(
|
||||
private val baseUrl: String,
|
||||
private val unifiedRequester: UnifiedRequester
|
||||
private val client: HttpClient
|
||||
) : ReadPostsService, ReadCRUDRepo<RegisteredPost, PostId> by KtorReadStandardCrudRepo(
|
||||
buildStandardUrl(baseUrl, postsRootPath),
|
||||
unifiedRequester,
|
||||
client,
|
||||
RegisteredPost.serializer(),
|
||||
RegisteredPost.serializer().nullable,
|
||||
PostId.serializer()
|
||||
|
||||
@@ -25,17 +25,17 @@ import kotlinx.serialization.modules.polymorphic
|
||||
|
||||
class ClientWritePostsService(
|
||||
private val baseUrl: String,
|
||||
unifiedRequester: UnifiedRequester
|
||||
client: HttpClient
|
||||
) : WritePostsService {
|
||||
private val root = buildStandardUrl(baseUrl, postsRootPath)
|
||||
private val unifiedRequester = UnifiedRequester(
|
||||
unifiedRequester.client,
|
||||
unifiedRequester.serialFormat.createWithSerializerModuleExtension {
|
||||
polymorphic(Content::class) {
|
||||
subclass(BinaryContent::class, BinaryContentSerializer(TempFileIdentifierInputProvider::class, TempFileIdentifierInputProvider.serializer()))
|
||||
}
|
||||
}
|
||||
)
|
||||
// private val unifiedRequester = UnifiedRequester(
|
||||
// unifiedRequester.client,
|
||||
// unifiedRequester.serialFormat.createWithSerializerModuleExtension {
|
||||
// polymorphic(Content::class) {
|
||||
// subclass(BinaryContent::class, BinaryContentSerializer(TempFileIdentifierInputProvider::class, TempFileIdentifierInputProvider.serializer()))
|
||||
// }
|
||||
// }
|
||||
// )
|
||||
|
||||
private val contentEitherSerializer = EitherSerializer(ContentId.serializer(), ContentSerializer)
|
||||
private val contentsEitherSerializer = ListSerializer(contentEitherSerializer)
|
||||
@@ -58,7 +58,7 @@ class ClientWritePostsService(
|
||||
return (content as? BinaryContent) ?.let {
|
||||
when (val provider = it.inputProvider) {
|
||||
is FileBasedInputProvider -> {
|
||||
val fileId = unifiedRequester.tempUpload(
|
||||
val fileId = client.tempUpload(
|
||||
tempUploadFullPath,
|
||||
provider.file
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user