From: Claudio Cambra Date: Mon, 6 Mar 2023 14:52:58 +0000 (+0100) Subject: Add convenience method to rename file item metadatas in database X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~10^2~55^2~216 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c7660b50dff0e356a4c2a1aa43a88f736df4903d;p=nextcloud-desktop.git Add convenience method to rename file item metadatas in database Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index cb10fa877..4a8d79afc 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -239,6 +239,27 @@ class NextcloudFilesDatabaseManager : NSObject { } } + func renameItemMetadata(ocId: String, newFileName: String) { + let database = ncDatabase() + + do { + try database.write { + guard let itemMetadata = database.objects(NextcloudItemMetadataTable.self).filter("ocId == %@", ocId).first else { + NSLog("Could not find an item with ocID %@ to rename to %@", ocId, newFileName) + return + } + + let oldFileName = itemMetadata.fileName + itemMetadata.fileName = newFileName + itemMetadata.fileNameView = newFileName + database.add(itemMetadata, update: .all) + NSLog("Renamed item %@ to %@", oldFileName, newFileName) + } + } catch let error { + NSLog("Could not rename filename of item metadata with ocID: %@ to proposed name %@, received error: %@", ocId, newFileName, error.localizedDescription) + } + } + 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)