business setter configurator things
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package com.insanusmokrassar.postssystem.publishing.ktor.client
|
||||
|
||||
import com.insanusmokrassar.postssystem.publishing.ktor.*
|
||||
import dev.inmo.micro_utils.ktor.client.BodyPair
|
||||
import dev.inmo.micro_utils.ktor.client.UnifiedRequester
|
||||
import dev.inmo.micro_utils.ktor.common.buildStandardUrl
|
||||
import dev.inmo.postssystem.core.post.PostId
|
||||
import dev.inmo.postssystem.core.publishing.TriggerId
|
||||
import dev.inmo.postssystem.core.publishing.TriggerSetterService
|
||||
import kotlinx.serialization.builtins.serializer
|
||||
|
||||
class TriggerSetterKtorClient(
|
||||
private val baseUrl: String,
|
||||
private val subRoute: String? = triggersRootRoute,
|
||||
private val unifiedRequester: UnifiedRequester
|
||||
) : TriggerSetterService {
|
||||
private val apiRootUrl = subRoute ?.let { "$baseUrl/$it" } ?: baseUrl
|
||||
override suspend fun setTrigger(postId: PostId, triggerId: TriggerId): Boolean = unifiedRequester.unipost(
|
||||
buildStandardUrl(
|
||||
apiRootUrl,
|
||||
"$setTriggerSubRoute/"
|
||||
),
|
||||
BodyPair(TriggerSettingData.serializer(), TriggerSettingData(postId, triggerId)),
|
||||
Boolean.serializer()
|
||||
)
|
||||
}
|
Reference in New Issue
Block a user