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,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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user