Add convenience method to add directory metadata to database
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 20 Feb 2023 12:36:27 +0000 (13:36 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:19 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift

index 0d0d6afd13033d48dda933155d168e884c3f73e9..ff5f384453311c63d630edbd047f53b360be2894 100644 (file)
@@ -366,6 +366,25 @@ class NextcloudFilesDatabaseManager : NSObject {
         updateDirectoryMetadatas(account: account, parentDirectoryServerUrl: parentDirectoryServerUrl, updatedDirectoryMetadatas: updatedDirMetadatas)
     }
 
+    func addDirectoryMetadata(_ metadata: NextcloudDirectoryMetadataTable) {
+        let database = ncDatabase()
+
+        do {
+            try database.write {
+                database.add(metadata, update: .all)
+                NSLog("""
+                        Created new metadata (addDirectoryMetadata).
+                        ocID: %@,
+                        serverUrl: %@,
+                        etag: %@
+                      """
+                      , metadata.ocId, metadata.serverUrl, metadata.etag)
+            }
+        } catch let error {
+            NSLog("Could not add item metadata with ocID: %@ and serverUrl: %@, received error: %@", metadata.ocId, metadata.serverUrl, error.localizedDescription)
+        }
+    }
+
     func localFileMetadataFromOcId(_ ocId: String) -> NextcloudLocalFileMetadataTable? {
         if let metadata = ncDatabase().objects(NextcloudLocalFileMetadataTable.self).filter("ocId == %@", ocId).first {
             return NextcloudLocalFileMetadataTable(value: metadata)