34 lines
1.1 KiB
Kotlin
34 lines
1.1 KiB
Kotlin
package dev.inmo.postssystem.publicators.simple.client
|
|
|
|
import dev.inmo.micro_utils.ktor.client.UnifiedRequester
|
|
import dev.inmo.micro_utils.ktor.common.buildStandardUrl
|
|
import dev.inmo.postssystem.features.posts.common.PostId
|
|
import dev.inmo.postssystem.features.publication.common.publicatorsRootPath
|
|
import dev.inmo.postssystem.publicators.simple.common.simplePublicatorPublishPathPart
|
|
import dev.inmo.postssystem.publicators.simple.common.simplePublicatorRootPath
|
|
import kotlinx.serialization.builtins.serializer
|
|
|
|
class SimplePublicatorServiceClient(
|
|
baseUrl: String,
|
|
private val client: HttpClient
|
|
) : SimplePublicatorService {
|
|
private val fullUrl = buildStandardUrl(
|
|
baseUrl,
|
|
buildStandardUrl(
|
|
publicatorsRootPath,
|
|
simplePublicatorRootPath
|
|
)
|
|
)
|
|
|
|
private val publishFullUrl = buildStandardUrl(
|
|
fullUrl,
|
|
simplePublicatorPublishPathPart
|
|
)
|
|
|
|
override suspend fun publish(postId: PostId) = unifiedRequester.unipost(
|
|
publishFullUrl,
|
|
PostId.serializer() to postId,
|
|
Unit.serializer()
|
|
)
|
|
}
|