diff --git a/posts/src/jvmMain/kotlin/exposed/ExposedPostsRepo.kt b/posts/src/jvmMain/kotlin/exposed/ExposedPostsRepo.kt index 036d40e..c509840 100644 --- a/posts/src/jvmMain/kotlin/exposed/ExposedPostsRepo.kt +++ b/posts/src/jvmMain/kotlin/exposed/ExposedPostsRepo.kt @@ -97,7 +97,9 @@ class ExposedPostsRepo( } } - override fun insert(value: NewPost, it: InsertStatement) {} + override fun insert(value: NewPost, it: InsertStatement) { + it[createdColumn] = DateTime.now().unixMillis + } override suspend fun deleteById(ids: List) { onBeforeDelete(ids) diff --git a/ratings/gc/src/jvmMain/kotlin/Plugin.kt b/ratings/gc/src/jvmMain/kotlin/Plugin.kt index 373e984..1f06e5f 100644 --- a/ratings/gc/src/jvmMain/kotlin/Plugin.kt +++ b/ratings/gc/src/jvmMain/kotlin/Plugin.kt @@ -6,8 +6,7 @@ import dev.inmo.krontab.KrontabTemplate import dev.inmo.krontab.toSchedule import dev.inmo.krontab.utils.asFlow import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions -import dev.inmo.micro_utils.repos.deleteById -import dev.inmo.micro_utils.repos.id +import dev.inmo.micro_utils.repos.* import dev.inmo.plagubot.Plugin import dev.inmo.plaguposter.posts.repo.PostsRepo import dev.inmo.plaguposter.ratings.models.Rating @@ -45,7 +44,9 @@ object Plugin : Plugin { config.immediateDrop ?.let { toDrop -> ratingsRepo.onNewValue.subscribeSafelyWithoutExceptions(this) { - postsRepo.deleteById(it.id) + if (it.value <= toDrop) { + postsRepo.deleteById(it.id) + } } } config.autoclear ?.let { autoclear -> diff --git a/ratings/selector/src/commonMain/kotlin/models/RatingConfig.kt b/ratings/selector/src/commonMain/kotlin/models/RatingConfig.kt index 3373b0b..6b8def9 100644 --- a/ratings/selector/src/commonMain/kotlin/models/RatingConfig.kt +++ b/ratings/selector/src/commonMain/kotlin/models/RatingConfig.kt @@ -21,9 +21,9 @@ import kotlinx.serialization.encoding.Encoder @Serializable data class RatingConfig( - val min: Rating?, - val max: Rating?, - val prefer: Prefer, + val min: Rating? = null, + val max: Rating? = null, + val prefer: Prefer = Prefer.Random, val otherwise: RatingConfig? = null, val postAge: Seconds? = null ) {