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

37 lines
1.1 KiB
Kotlin
Raw Normal View History

2020-11-25 08:08:45 +00:00
package dev.inmo.postssystem.publishing.ktor.server
2020-08-15 06:37:52 +00:00
2020-11-25 08:08:45 +00:00
import dev.inmo.postssystem.core.post.PostId
import dev.inmo.postssystem.core.publishing.repos.WritePublishingKeysRepo
import dev.inmo.postssystem.publishing.ktor.*
2020-11-25 07:53:15 +00:00
import dev.inmo.micro_utils.ktor.server.unianswer
import dev.inmo.micro_utils.ktor.server.uniload
2020-08-15 06:37:52 +00:00
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
)