core/business_cases/post_creating/server/src/jvmMain/kotlin/dev/inmo/postssystem/business_cases/post_creating/server/PostCreatingRoutingCase.kt

24 lines
737 B
Kotlin

package dev.inmo.postssystem.business_cases.post_creating.server
import dev.inmo.postssystem.core.post.RegisteredPost
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.*
import kotlinx.serialization.builtins.nullable
fun Route.configurePostCreatingRoutes(
origin: PostCreatingCase
) {
route(postCreatingRootRoute) {
post(postCreatingCreatePostRoute) {
val model = call.uniload(PostCreatingCreatePostModel.serializer())
call.unianswer(
RegisteredPost.serializer().nullable,
origin.createPost(model.postContent, model.triggerId)
)
}
}
}