mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2024-06-01 23:45:22 +00:00
32 lines
948 B
Kotlin
32 lines
948 B
Kotlin
package dev.inmo.plaguposter.posts.exposed
|
|
|
|
import com.benasher44.uuid.uuid4
|
|
import dev.inmo.micro_utils.repos.KeyValuesRepo
|
|
import dev.inmo.micro_utils.repos.exposed.*
|
|
import dev.inmo.plaguposter.posts.models.*
|
|
import dev.inmo.tgbotapi.types.ChatId
|
|
import org.jetbrains.exposed.sql.*
|
|
|
|
internal class ExposedContentInfoRepo(
|
|
override val database: Database,
|
|
postIdColumnReference: Column<String>
|
|
) : ExposedRepo, Table(name = "posts_content") {
|
|
val postIdColumn = (text("post_id") references postIdColumnReference).index()
|
|
val chatIdColumn = long("chat_id")
|
|
val messageIdColumn = long("message_id")
|
|
val groupColumn = text("group").nullable()
|
|
val orderColumn = integer("order")
|
|
|
|
val ResultRow.asObject
|
|
get() = PostContentInfo(
|
|
ChatId(get(chatIdColumn)),
|
|
get(messageIdColumn),
|
|
get(groupColumn),
|
|
get(orderColumn)
|
|
)
|
|
|
|
init {
|
|
initTable()
|
|
}
|
|
}
|