diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/configuration/KomgaSettingsProvider.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/configuration/KomgaSettingsProvider.kt index ab3bbaec9..98181e845 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/configuration/KomgaSettingsProvider.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/configuration/KomgaSettingsProvider.kt @@ -10,36 +10,40 @@ import kotlin.time.Duration.Companion.days class KomgaSettingsProvider( private val serverSettingsDao: ServerSettingsDao, ) { - var deleteEmptyCollections: Boolean - get() = - serverSettingsDao.getSettingByKey(Settings.DELETE_EMPTY_COLLECTIONS.name, Boolean::class.java) ?: false - set(value) = + var deleteEmptyCollections: Boolean = + serverSettingsDao.getSettingByKey(Settings.DELETE_EMPTY_COLLECTIONS.name, Boolean::class.java) ?: false + set(value) { serverSettingsDao.saveSetting(Settings.DELETE_EMPTY_COLLECTIONS.name, value) + field = value + } - var deleteEmptyReadLists: Boolean - get() = - serverSettingsDao.getSettingByKey(Settings.DELETE_EMPTY_READLISTS.name, Boolean::class.java) ?: false - set(value) = + var deleteEmptyReadLists: Boolean = + serverSettingsDao.getSettingByKey(Settings.DELETE_EMPTY_READLISTS.name, Boolean::class.java) ?: false + set(value) { serverSettingsDao.saveSetting(Settings.DELETE_EMPTY_READLISTS.name, value) + field = value + } - var rememberMeKey: String - get() = - serverSettingsDao.getSettingByKey(Settings.REMEMBER_ME_KEY.name, String::class.java) - ?: getRandomRememberMeKey().also { serverSettingsDao.saveSetting(Settings.REMEMBER_ME_KEY.name, it) } - set(value) = + var rememberMeKey: String = + serverSettingsDao.getSettingByKey(Settings.REMEMBER_ME_KEY.name, String::class.java) + ?: getRandomRememberMeKey().also { rememberMeKey = it } + set(value) { serverSettingsDao.saveSetting(Settings.REMEMBER_ME_KEY.name, value) + field = value + } fun renewRememberMeKey() { - serverSettingsDao.saveSetting(Settings.REMEMBER_ME_KEY.name, getRandomRememberMeKey()) + rememberMeKey = getRandomRememberMeKey() } private fun getRandomRememberMeKey() = RandomStringUtils.randomAlphanumeric(32) - var rememberMeDuration: Duration - get() = - (serverSettingsDao.getSettingByKey(Settings.REMEMBER_ME_DURATION.name, Int::class.java) ?: 365).days - set(value) = + var rememberMeDuration: Duration = + (serverSettingsDao.getSettingByKey(Settings.REMEMBER_ME_DURATION.name, Int::class.java) ?: 365).days + set(value) { serverSettingsDao.saveSetting(Settings.REMEMBER_ME_DURATION.name, value.inWholeDays.toInt()) + field = value + } } private enum class Settings {