From e35d468388db56e02cba8da867d5fd37ce2aa8bf Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Mon, 9 Oct 2023 13:54:04 +0800 Subject: [PATCH] refactor(komga): add backing fields for server settings --- .../configuration/KomgaSettingsProvider.kt | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) 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 {