]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Don't unnecessarily fail to provide parentItemIdentifier in NextcloudFileProviderFile...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 1 Feb 2023 17:14:33 +0000 (18:14 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:17 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFileProviderFilesUtils.swift

index eaa4ce0dec6ca5a88991870a9fad16688b0cb1b4..0ffa48029d5b791f13aeff91a7eb9b254eaf3d65 100644 (file)
@@ -91,15 +91,22 @@ func createFileOrDirectoryLocally(metadata: NextcloudItemMetadataTable) {
 
 func parentItemIdentifierFromMetadata(_ metadata: NextcloudItemMetadataTable) -> NSFileProviderItemIdentifier? {
     let homeServerFilesUrl = metadata.urlBase + "/remote.php/dav/files/" + metadata.userId
-    let ncDatabase = NextcloudFilesDatabaseManager.shared
 
-    guard let itemParentDirectory = ncDatabase.parentDirectoryMetadataForItem(metadata) else { return nil }
-    if itemParentDirectory.serverUrl == homeServerFilesUrl {
+    if metadata.serverUrl == homeServerFilesUrl {
         return .rootContainer
-    } else if let parentDirectoryMetadata = ncDatabase.itemMetadataFromOcId(itemParentDirectory.ocId) {
+    }
+
+    let ncDatabase = NextcloudFilesDatabaseManager.shared
+    guard let itemParentDirectory = ncDatabase.parentDirectoryMetadataForItem(metadata) else {
+        NSLog("Could not get item parent directory metadata for metadata with ocId: %@ and fileName: %@, returning nil", metadata.ocId, metadata.fileName)
+        return nil
+    }
+
+    if let parentDirectoryMetadata = ncDatabase.itemMetadataFromOcId(itemParentDirectory.ocId) {
         return NSFileProviderItemIdentifier(parentDirectoryMetadata.ocId)
     }
 
+    NSLog("Could not get item parent directory item metadata for metadata with ocId: %@ and fileName: %@, returning nil", metadata.ocId, metadata.fileName)
     return nil
 }