fully rewrite content

This commit is contained in:
2020-11-26 16:54:57 +06:00
parent 20e3fd6934
commit 5c1f5c0bba
25 changed files with 441 additions and 602 deletions
business_cases/post_creating/common/src/commonMain/kotlin/dev/inmo/postssystem/business_cases/post_creating/server
core
api
build.gradle
src
commonMain
commonTest
kotlin
dev
inmo
postssystem
jvmMain
kotlin
dev
inmo
postssystem
core
content
api
business
content_adapters
exposed
ktor
gradle.properties

@ -7,25 +7,25 @@ import dev.inmo.postssystem.core.post.*
import dev.inmo.postssystem.core.post.repo.PostsRepo
import dev.inmo.postssystem.core.publishing.*
class BusinessPostCreatingCase(
private val postsRepo: PostsRepo,
private val contentRepo: ContentRepo,
private val publishingRegistrar: PublishingRegistrar,
private val postKeyGenerator: PostKeyGenerator = { _, _ -> uuid4().toString() },
private val publishingKeyReceiverGetter: PublishingKeyReceiverGetter
) : PostCreatingCase {
override suspend fun createPost(postContent: List<Content>, triggerId: TriggerId?): RegisteredPost? {
val content = postContent.mapNotNull { contentRepo.registerContent(it) }
val post = postsRepo.createPost(SimplePost(content.map { it.id })) ?: return null
triggerId ?.let {
val key = postKeyGenerator(post.id, triggerId)
if (publishingRegistrar.registerTriggerForPost(key, post.id)) {
publishingKeyReceiverGetter(it) ?.acceptKey(post.id, key)
}
}
return post
}
}
//class BusinessPostCreatingCase(
// private val postsRepo: PostsRepo,
// private val contentRepo: ContentRepo,
// private val publishingRegistrar: PublishingRegistrar,
// private val postKeyGenerator: PostKeyGenerator = { _, _ -> uuid4().toString() },
// private val publishingKeyReceiverGetter: PublishingKeyReceiverGetter
//) : PostCreatingCase {
// override suspend fun createPost(postContent: List<Content>, triggerId: TriggerId?): RegisteredPost? {
// val content = postContent.mapNotNull { contentRepo.registerContent(it) }
// val post = postsRepo.createPost(SimplePost(content.map { it.id })) ?: return null
//
// triggerId ?.let {
// val key = postKeyGenerator(post.id, triggerId)
//
// if (publishingRegistrar.registerTriggerForPost(key, post.id)) {
// publishingKeyReceiverGetter(it) ?.acceptKey(post.id, key)
// }
// }
//
// return post
// }
//}