remove unnecessary triggers management service

This commit is contained in:
InsanusMokrassar 2020-11-28 23:07:42 +06:00
parent 72c48794fc
commit eacd0fb9c4
3 changed files with 0 additions and 108 deletions

View File

@ -1,40 +0,0 @@
package dev.inmo.postssystem.core.publishing
import dev.inmo.postssystem.core.post.PostId
class TriggerSetterServiceUnknownTriggerIdException(
triggerId: TriggerId
) : IllegalArgumentException(
"Unknown trigger id $triggerId"
)
interface ReadTriggersManagementService {
@Throws(TriggerSetterServiceUnknownTriggerIdException::class)
suspend fun getTrigger(postId: PostId): TriggerId?
}
interface WriteTriggersManagementService {
@Throws(TriggerSetterServiceUnknownTriggerIdException::class)
suspend fun setTrigger(postId: PostId, triggerId: TriggerId): Boolean
}
interface TriggersManagementService : ReadTriggersManagementService, WriteTriggersManagementService
class BusinessTriggersManagementService(
private val postKeyGenerator: PostKeyGenerator,
private val publishingKeyReceiverGetter: PublishingKeyReceiverGetter,
private val keysRegistrar: PublishingKeysRegistrar
) : TriggersManagementService {
override suspend fun getTrigger(postId: PostId): TriggerId? {
TODO("Not yet implemented")
}
override suspend fun setTrigger(postId: PostId, triggerId: TriggerId): Boolean {
val publishingKeyReceiver = publishingKeyReceiverGetter(triggerId) ?: throw TriggerSetterServiceUnknownTriggerIdException(triggerId)
val triggerControlKey = postKeyGenerator(postId, triggerId)
keysRegistrar.registerTriggerForPost(triggerControlKey, postId)
publishingKeyReceiver.acceptKey(postId, triggerControlKey)
return true
}
}

View File

@ -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()
)
}

View File

@ -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)
}