mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2025-12-06 13:05:39 +00:00
add caches
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package dev.inmo.plaguposter.ratings
|
||||
|
||||
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
||||
import dev.inmo.micro_utils.koin.singleWithBinds
|
||||
import dev.inmo.micro_utils.repos.unset
|
||||
import dev.inmo.plagubot.Plugin
|
||||
import dev.inmo.plaguposter.common.useCache
|
||||
import dev.inmo.plaguposter.posts.exposed.ExposedPostsRepo
|
||||
import dev.inmo.plaguposter.posts.repo.PostsRepo
|
||||
import dev.inmo.plaguposter.ratings.exposed.ExposedRatingsRepo
|
||||
@@ -16,11 +18,16 @@ import org.koin.dsl.binds
|
||||
|
||||
object Plugin : Plugin {
|
||||
override fun Module.setupDI(database: Database, params: JsonObject) {
|
||||
single { ExposedRatingsRepo(database) } binds arrayOf(
|
||||
RatingsRepo::class,
|
||||
ReadRatingsRepo::class,
|
||||
WriteRatingsRepo::class,
|
||||
)
|
||||
single { ExposedRatingsRepo(database) }
|
||||
singleWithBinds<RatingsRepo> {
|
||||
val base = get<ExposedRatingsRepo>()
|
||||
|
||||
if (useCache) {
|
||||
CachedRatingsRepo(base, get())
|
||||
} else {
|
||||
base
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) {
|
||||
|
||||
Reference in New Issue
Block a user