37 lines
1.1 KiB
Kotlin
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
|
|
) |