From 43892a3d43c64421df502c795883b15c79ac48b7 Mon Sep 17 00:00:00 2001 From: Francesco <100066266+cranci1@users.noreply.github.com> Date: Sat, 19 Apr 2025 10:10:38 +0200 Subject: [PATCH] ok last thing please --- .../iCloudSyncManager/iCloudSyncManager.swift | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Sora/Utils/iCloudSyncManager/iCloudSyncManager.swift b/Sora/Utils/iCloudSyncManager/iCloudSyncManager.swift index 0f3c9cd..63c3512 100644 --- a/Sora/Utils/iCloudSyncManager/iCloudSyncManager.swift +++ b/Sora/Utils/iCloudSyncManager/iCloudSyncManager.swift @@ -164,6 +164,22 @@ class iCloudSyncManager { do { if !FileManager.default.fileExists(atPath: iCloudModulesURL.path) { Logger.shared.log("No modules file found in iCloud", type: "Info") + + if FileManager.default.fileExists(atPath: localModulesURL.path) { + Logger.shared.log("Copying local modules file to iCloud", type: "Info") + try FileManager.default.copyItem(at: localModulesURL, to: iCloudModulesURL) + } else { + Logger.shared.log("Creating new empty modules file in iCloud", type: "Info") + let emptyModules: [ScrapingModule] = [] + let emptyData = try JSONEncoder().encode(emptyModules) + try emptyData.write(to: iCloudModulesURL) + + try emptyData.write(to: localModulesURL) + + DispatchQueue.main.async { + NotificationCenter.default.post(name: .modulesSyncDidComplete, object: nil) + } + } return } @@ -188,7 +204,7 @@ class iCloudSyncManager { } } } catch { - Logger.shared.log("iCloud modules fetch error: \(error)", type: "Error") + Logger.shared.log("iCloud modules sync error: \(error)", type: "Error") } }