add ratings

This commit is contained in:
2022-08-21 16:03:27 +06:00
parent c4e7f338a9
commit aa9f187203
11 changed files with 96 additions and 0 deletions

View 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) }
)