remove unnecessary triggers management service
This commit is contained in:
publishing
api
src
commonMain
kotlin
dev
inmo
postssystem
core
publishing
ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
publishing
ktor
client
server
src
jvmMain
kotlin
com
insanusmokrassar
postssystem
publishing
ktor
@ -1,26 +0,0 @@
|
||||
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.TriggersManagementService
|
||||
import kotlinx.serialization.builtins.serializer
|
||||
|
||||
class TriggersManagementKtorClient(
|
||||
private val baseUrl: String,
|
||||
private val subRoute: String? = triggersRootRoute,
|
||||
private val unifiedRequester: UnifiedRequester
|
||||
) : TriggersManagementService {
|
||||
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()
|
||||
)
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package com.insanusmokrassar.postssystem.publishing.ktor.server
|
||||
|
||||
import com.insanusmokrassar.postssystem.publishing.ktor.*
|
||||
import dev.inmo.micro_utils.ktor.server.UnifiedRouter
|
||||
import dev.inmo.postssystem.core.publishing.*
|
||||
import io.ktor.application.call
|
||||
import io.ktor.http.HttpStatusCode
|
||||
import io.ktor.response.respond
|
||||
import io.ktor.routing.*
|
||||
import kotlinx.serialization.builtins.serializer
|
||||
|
||||
private inline fun Route.configureTriggersManagement(triggerSetterService: TriggerSetterService, unifiedRouter: UnifiedRouter) {
|
||||
post("$setTriggerSubRoute/{post_id}/{trigger_id}") {
|
||||
unifiedRouter.apply {
|
||||
val (postId, triggerId) = uniload(TriggerSettingData.serializer())
|
||||
|
||||
try {
|
||||
unianswer(
|
||||
Boolean.serializer(),
|
||||
triggerSetterService.setTrigger(postId, triggerId)
|
||||
)
|
||||
} catch (e: TriggerSetterServiceUnknownTriggerIdException) {
|
||||
call.respond(
|
||||
HttpStatusCode.BadRequest,
|
||||
"Unknown trigger id $triggerId"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Route.configureTriggersManagement(
|
||||
subRoute: String? = triggersRootRoute,
|
||||
triggerSetterService: TriggerSetterService,
|
||||
unifiedRouter: UnifiedRouter
|
||||
) {
|
||||
subRoute ?.also {
|
||||
route(it) {
|
||||
configureTriggersManagement(triggerSetterService, unifiedRouter)
|
||||
}
|
||||
} ?: configureTriggersManagement(triggerSetterService, unifiedRouter)
|
||||
}
|
Reference in New Issue
Block a user