mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2026-01-22 20:07:51 +00:00
complete timer plugin
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package dev.inmo.plaguposter.triggers.timer.disablers.ratings
|
||||
|
||||
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
||||
import dev.inmo.micro_utils.koin.singleWithRandomQualifier
|
||||
import dev.inmo.micro_utils.repos.unset
|
||||
import dev.inmo.plagubot.Plugin
|
||||
import dev.inmo.plaguposter.ratings.repo.RatingsRepo
|
||||
import dev.inmo.plaguposter.triggers.timer.TimersRepo
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.serialization.json.*
|
||||
import org.jetbrains.exposed.sql.Database
|
||||
import org.koin.core.module.Module
|
||||
|
||||
object Plugin : Plugin {
|
||||
override fun Module.setupDI(database: Database, params: JsonObject) {
|
||||
singleWithRandomQualifier(createdAtStart = true) {
|
||||
val timersRepo = get<TimersRepo>()
|
||||
val ratingsRepo = get<RatingsRepo>()
|
||||
val scope = get<CoroutineScope>()
|
||||
|
||||
timersRepo.onNewValue.subscribeSafelyWithoutExceptions(scope) {
|
||||
ratingsRepo.unset(it.first)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user