mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2026-07-06 17:44:54 +00:00
complete publishing part
This commit is contained in:
@@ -2,5 +2,9 @@ package dev.inmo.plaguposter.posts.repo
|
||||
|
||||
import dev.inmo.micro_utils.repos.ReadCRUDRepo
|
||||
import dev.inmo.plaguposter.posts.models.*
|
||||
import dev.inmo.tgbotapi.types.ChatId
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
|
||||
interface ReadPostsRepo : ReadCRUDRepo<RegisteredPost, PostId>
|
||||
interface ReadPostsRepo : ReadCRUDRepo<RegisteredPost, PostId> {
|
||||
suspend fun getIdByChatAndMessage(chatId: ChatId, messageId: MessageIdentifier): PostId?
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package dev.inmo.plaguposter.posts.sending
|
||||
|
||||
import dev.inmo.kslog.common.logger
|
||||
import dev.inmo.kslog.common.w
|
||||
import dev.inmo.micro_utils.repos.deleteById
|
||||
import dev.inmo.plaguposter.posts.models.PostId
|
||||
import dev.inmo.plaguposter.posts.repo.PostsRepo
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
@@ -14,12 +15,13 @@ import dev.inmo.tgbotapi.types.message.content.MediaGroupContent
|
||||
|
||||
class PostPublisher(
|
||||
private val bot: TelegramBot,
|
||||
private val repo: PostsRepo,
|
||||
private val postsRepo: PostsRepo,
|
||||
private val cachingChatId: ChatId,
|
||||
private val targetChatId: ChatId
|
||||
private val targetChatId: ChatId,
|
||||
private val deleteAfterPosting: Boolean = true
|
||||
) {
|
||||
suspend fun publish(postId: PostId) {
|
||||
val messagesInfo = repo.getById(postId) ?: let {
|
||||
val messagesInfo = postsRepo.getById(postId) ?: let {
|
||||
logger.w { "Unable to get post with id $postId for publishing" }
|
||||
return
|
||||
}
|
||||
@@ -56,5 +58,9 @@ class PostPublisher(
|
||||
}
|
||||
}
|
||||
|
||||
if (deleteAfterPosting) {
|
||||
postsRepo.deleteById(postId)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user