mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2025-12-06 04:55:41 +00:00
add ratings
This commit is contained in:
25
ratings/src/jvmMain/kotlin/exposed/ExposedRatingsRepo.kt
Normal file
25
ratings/src/jvmMain/kotlin/exposed/ExposedRatingsRepo.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
package dev.inmo.plaguposter.ratings.exposed
|
||||
|
||||
import dev.inmo.micro_utils.repos.KeyValueRepo
|
||||
import dev.inmo.micro_utils.repos.exposed.keyvalue.ExposedKeyValueRepo
|
||||
import dev.inmo.micro_utils.repos.mappers.withMapper
|
||||
import dev.inmo.plaguposter.posts.models.PostId
|
||||
import dev.inmo.plaguposter.ratings.models.Rating
|
||||
import dev.inmo.plaguposter.ratings.repo.RatingsRepo
|
||||
import org.jetbrains.exposed.sql.Column
|
||||
import org.jetbrains.exposed.sql.Database
|
||||
|
||||
class ExposedRatingsRepo(
|
||||
database: Database,
|
||||
postIdColumnReference: Column<String>
|
||||
) : RatingsRepo, KeyValueRepo<PostId, Rating> by ExposedKeyValueRepo(
|
||||
database,
|
||||
{ text("post_id") references postIdColumnReference },
|
||||
{ double("rating") },
|
||||
"ratings"
|
||||
).withMapper(
|
||||
{ string },
|
||||
{ double },
|
||||
{ PostId(this) },
|
||||
{ Rating(this) }
|
||||
)
|
||||
Reference in New Issue
Block a user