Do not provide items if account is not set up correctly
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 1 Aug 2024 08:21:01 +0000 (16:21 +0800)
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>
Thu, 12 Sep 2024 08:15:58 +0000 (10:15 +0200)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift

index fd3670a38f2c20e9b0d4caa8892e0301ead6c61f..db5eda2d50beb005c7a79a6a31cb907df6442488 100644 (file)
@@ -104,7 +104,15 @@ import OSLog
         request _: NSFileProviderRequest,
         completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void
     ) -> Progress {
-        if let item = Item.storedItem(identifier: identifier, remoteInterface: ncKit) {
+        if ncAccount == nil {
+            Logger.fileProviderExtension.error(
+                """
+                Not fetching item for identifier: \(identifier.rawValue, privacy: .public)
+                as account not set up yet.
+                """
+            )
+            completionHandler(nil, NSFileProviderError(.notAuthenticated))
+        } else if let item = Item.storedItem(identifier: identifier, remoteInterface: ncKit) {
             completionHandler(item, nil)
         } else {
             completionHandler(nil, NSFileProviderError(.noSuchItem))