core/publishing/ktor/server/src/jvmMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/server/WritePublishingKeysRepoRout...

37 lines
1.1 KiB
Kotlin

package dev.inmo.postssystem.publishing.ktor.server
import dev.inmo.postssystem.core.post.PostId
import dev.inmo.postssystem.core.publishing.repos.WritePublishingKeysRepo
import dev.inmo.postssystem.publishing.ktor.*
import dev.inmo.micro_utils.ktor.server.unianswer
import dev.inmo.micro_utils.ktor.server.uniload
import io.ktor.application.call
import io.ktor.routing.Route
import io.ktor.routing.post
import kotlinx.serialization.builtins.serializer
fun Route.configureWritePublishingKeysRepoRoutes (
proxyTo: WritePublishingKeysRepo
) {
post(setPostTriggerControlKeyRoute) {
val obj = call.uniload(SetPostTriggerControlKeyObject.serializer())
call.unianswer(
Boolean.serializer(),
proxyTo.setPostTriggerControlKey(obj.postId, obj.key)
)
}
post(unsetPostTriggerControlKeyRoute) {
val postId = call.uniload(PostId.serializer())
call.unianswer(
Boolean.serializer(),
proxyTo.unsetPostTriggerControlKey(postId)
)
}
}
class WritePublishingKeysRepoRoutingConfigurator (
private val proxyTo: WritePublishingKeysRepo
)