All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.config.RatingAnalyzeCleanDBSettings.kt Maven / Gradle / Ivy

package com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.config

import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.cleaners.ClearByKeepTime
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.database.CountOfRatedPostsTable
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.database.RatingsChangesTable
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.tasks.*
import java.util.concurrent.TimeUnit

data class RatingAnalyzeCleanDBSettings(
    val delay: Long? = null,
    val dayTime: String? = null,
    val keepRecordsTime: Long = TimeUnit.DAYS.toMillis(30)
) {
    fun buildTasks(
        ratingsChangesTable: RatingsChangesTable,
        countOfRatedPostsTable: CountOfRatedPostsTable
    ): List {
        val clearByKeepTime: ClearByKeepTime by lazy {
            ClearByKeepTime(
                keepRecordsTime,
                ratingsChangesTable,
                countOfRatedPostsTable
            )
        }
        return listOfNotNull(
            delay ?.let {
                DelayTask(
                    it,
                    clearByKeepTime
                )
            },
            dayTime ?.let {
                TimeTask(
                    it,
                    clearByKeepTime
                )
            }
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy