mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2024-11-17 13:33:47 +00:00
improvements in cachedratingsrepo
This commit is contained in:
parent
aa6c62d66e
commit
991b0ef3d3
@ -4,7 +4,13 @@ project.group = "$group"
|
||||
apply from: "$publishGradlePath"
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
jvm {
|
||||
compilations.main {
|
||||
kotlinOptions {
|
||||
jvmTarget = "17"
|
||||
}
|
||||
}
|
||||
}
|
||||
js (IR) {
|
||||
browser()
|
||||
nodejs()
|
||||
@ -38,3 +44,8 @@ kotlin {
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
|
@ -15,14 +15,14 @@ class CachedRatingsRepo(
|
||||
private val scope: CoroutineScope,
|
||||
private val kvCache: MapKeyValueRepo<PostId, Rating> = MapKeyValueRepo()
|
||||
) : RatingsRepo, KeyValueRepo<PostId, Rating> by FullKeyValueCacheRepo(base, kvCache, scope) {
|
||||
override suspend fun getPosts(
|
||||
range: ClosedRange<Rating>,
|
||||
private suspend fun getPosts(
|
||||
reversed: Boolean,
|
||||
count: Int?,
|
||||
exclude: List<PostId>
|
||||
exclude: List<PostId>,
|
||||
ratingFilter: (Rating) -> Boolean
|
||||
): Map<PostId, Rating> {
|
||||
return kvCache.getAll().filter { (it, rating) ->
|
||||
it !in exclude && rating in range
|
||||
it !in exclude && ratingFilter(rating)
|
||||
}.let {
|
||||
if (count == null) {
|
||||
it
|
||||
@ -32,28 +32,30 @@ class CachedRatingsRepo(
|
||||
}
|
||||
}
|
||||
}
|
||||
override suspend fun getPosts(
|
||||
range: ClosedRange<Rating>,
|
||||
reversed: Boolean,
|
||||
count: Int?,
|
||||
exclude: List<PostId>
|
||||
): Map<PostId, Rating> = getPosts(reversed, count, exclude) {
|
||||
it in range
|
||||
}
|
||||
|
||||
override suspend fun getPostsWithRatingGreaterEq(
|
||||
then: Rating,
|
||||
reversed: Boolean,
|
||||
count: Int?,
|
||||
exclude: List<PostId>
|
||||
): Map<PostId, Rating> = getPosts(
|
||||
then .. Rating(Double.MAX_VALUE),
|
||||
reversed,
|
||||
count,
|
||||
exclude
|
||||
)
|
||||
): Map<PostId, Rating> = getPosts(reversed, count, exclude) {
|
||||
it >= then
|
||||
}
|
||||
|
||||
override suspend fun getPostsWithRatingLessEq(
|
||||
then: Rating,
|
||||
reversed: Boolean,
|
||||
count: Int?,
|
||||
exclude: List<PostId>
|
||||
): Map<PostId, Rating> = getPosts(
|
||||
Rating(Double.MIN_VALUE) .. then,
|
||||
reversed,
|
||||
count,
|
||||
exclude
|
||||
)
|
||||
): Map<PostId, Rating> = getPosts(reversed, count, exclude) {
|
||||
it <= then
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ function assert_success() {
|
||||
|
||||
app=plaguposter
|
||||
version="`grep ../gradle.properties -e "^version=" | sed -e "s/version=\(.*\)/\1/"`"
|
||||
server=insanusmokrassar
|
||||
server=docker.inmo.dev
|
||||
|
||||
assert_success ../gradlew build
|
||||
assert_success sudo docker build -t $app:"$version" .
|
||||
|
Loading…
Reference in New Issue
Block a user