From: Claudio Cambra Date: Tue, 14 Feb 2023 12:48:08 +0000 (+0100) Subject: Add convenience method to update item metadata status X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~96^2^2~55^2~228 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=90d5c8f54e5ea829ea4bf63bebcaeabde57462f4;p=nextcloud-desktop.git Add convenience method to update item metadata status Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index 892119b81..75cf7b49c 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -187,6 +187,26 @@ class NextcloudFilesDatabaseManager : NSObject { } } + func setStatusForItemMetadata(_ metadata: NextcloudItemMetadataTable, status: NextcloudItemMetadataTable.Status) -> NextcloudItemMetadataTable? { + let database = ncDatabase() + var result: NextcloudItemMetadataTable? + + do { + try database.write { + result = database.objects(NextcloudItemMetadataTable.self).filter("ocId == %@", metadata.ocId).first + result?.status = status.rawValue + } + } catch let error { + NSLog("Could not update status for item metadata with ocID: %@ and filename: %@, received error: %@", metadata.ocId, metadata.fileNameView, error.localizedDescription) + } + + if result != nil { + return NextcloudItemMetadataTable(value: result!) + } + + return nil + } + func directoryMetadata(account: String, serverUrl: String) -> NextcloudDirectoryMetadataTable? { if let metadata = ncDatabase().objects(NextcloudDirectoryMetadataTable.self).filter("account == %@ AND serverUrl == %@", account, serverUrl).first { return NextcloudDirectoryMetadataTable(value: metadata)