From 878ee960f3a9cfa98976fba01a4512e89fbb6a4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartu=20=C3=96zen?= Date: Thu, 11 Dec 2025 23:21:43 +0300 Subject: [PATCH] Add ability to select what to sync --- .../suwayomi/tachidesk/server/ServerConfig.kt | 34 +++++++++++++++++++ .../tachidesk/global/impl/sync/SyncManager.kt | 11 +++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/server/server-config/src/main/kotlin/suwayomi/tachidesk/server/ServerConfig.kt b/server/server-config/src/main/kotlin/suwayomi/tachidesk/server/ServerConfig.kt index 4adf48213..535618060 100644 --- a/server/server-config/src/main/kotlin/suwayomi/tachidesk/server/ServerConfig.kt +++ b/server/server-config/src/main/kotlin/suwayomi/tachidesk/server/ServerConfig.kt @@ -1037,6 +1037,40 @@ class ServerConfig( privacySafe = false, ) + val syncDataManga: MutableStateFlow by BooleanSetting( + protoNumber = 89, + defaultValue = true, + group = SettingGroup.SYNCYOMI, + privacySafe = true, + ) + + val syncDataChapters: MutableStateFlow by BooleanSetting( + protoNumber = 90, + defaultValue = true, + group = SettingGroup.SYNCYOMI, + privacySafe = true, + ) + + val syncDataTracking: MutableStateFlow by BooleanSetting( + protoNumber = 91, + defaultValue = true, + group = SettingGroup.SYNCYOMI, + privacySafe = true, + ) + + val syncDataHistory: MutableStateFlow by BooleanSetting( + protoNumber = 92, + defaultValue = true, + group = SettingGroup.SYNCYOMI, + privacySafe = true, + ) + + val syncDataCategories: MutableStateFlow by BooleanSetting( + protoNumber = 93, + defaultValue = true, + group = SettingGroup.SYNCYOMI, + privacySafe = true, + ) /** ****************************************************************** **/ /** **/ diff --git a/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt b/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt index cdba90822..b595e94ad 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt @@ -24,6 +24,7 @@ import suwayomi.tachidesk.manga.model.table.ChapterTable import suwayomi.tachidesk.manga.model.table.MangaStatus import suwayomi.tachidesk.manga.model.table.MangaTable import suwayomi.tachidesk.manga.model.table.toDataClass +import suwayomi.tachidesk.server.serverConfig import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.util.Date @@ -51,11 +52,11 @@ object SyncManager { val databaseManga = getAllMangaThatNeedsSync() val backupFlags = BackupFlags( - includeManga = true, - includeCategories = true, - includeChapters = true, - includeTracking = true, - includeHistory = true, + includeManga = serverConfig.syncDataManga.value, + includeCategories = serverConfig.syncDataCategories.value, + includeChapters = serverConfig.syncDataChapters.value, + includeTracking = serverConfig.syncDataTracking.value, + includeHistory = serverConfig.syncDataHistory.value, includeClientData = false, includeServerSettings = false, )