Add convenience method to rename file item metadatas in database

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-03-06 15:52:58 +01:00
parent 5f24527270
commit c7660b50df
No known key found for this signature in database
GPG key ID: C839200C384636B0

View file

@ -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)