add posts

This commit is contained in:
2022-08-18 18:59:05 +06:00
parent b32b3e7c38
commit 9502accf65
19 changed files with 234 additions and 33 deletions

View File

@@ -0,0 +1 @@
package dev.inmo.plaguposter.posts

View File

@@ -0,0 +1,20 @@
package dev.inmo.plaguposter.posts.models
import dev.inmo.tgbotapi.types.ChatId
import kotlinx.serialization.Serializable
@Serializable
sealed interface Post {
val content: List<PostContentInfo>
}
@Serializable
data class NewPost(
override val content: List<PostContentInfo>
) : Post
@Serializable
data class RegisteredPost(
val id: PostId,
override val content: List<PostContentInfo>
) : Post

View File

@@ -0,0 +1,13 @@
package dev.inmo.plaguposter.posts.models
import dev.inmo.tgbotapi.types.ChatId
import dev.inmo.tgbotapi.types.MessageIdentifier
import kotlinx.serialization.Serializable
@Serializable
data class PostContentInfo(
val chatId: ChatId,
val messageId: MessageIdentifier,
val group: String?,
val order: Int
)

View File

@@ -0,0 +1,10 @@
package dev.inmo.plaguposter.posts.models
import kotlinx.serialization.Serializable
import kotlin.jvm.JvmInline
@Serializable
@JvmInline
value class PostId(
val string: String
)

View File

@@ -0,0 +1,7 @@
package dev.inmo.plaguposter.posts.repo
import dev.inmo.micro_utils.repos.CRUDRepo
import dev.inmo.plaguposter.posts.models.*
interface PostsRepo : CRUDRepo<RegisteredPost, PostId, NewPost>, ReadPostsRepo, WritePostsRepo {
}

View File

@@ -0,0 +1,6 @@
package dev.inmo.plaguposter.posts.repo
import dev.inmo.micro_utils.repos.ReadCRUDRepo
import dev.inmo.plaguposter.posts.models.*
interface ReadPostsRepo : ReadCRUDRepo<RegisteredPost, PostId>

View File

@@ -0,0 +1,7 @@
package dev.inmo.plaguposter.posts.repo
import dev.inmo.micro_utils.repos.ReadCRUDRepo
import dev.inmo.micro_utils.repos.WriteCRUDRepo
import dev.inmo.plaguposter.posts.models.*
interface WritePostsRepo : WriteCRUDRepo<RegisteredPost, PostId, NewPost>