mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-25 22:05:53 +03:00
Split off deletion process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
39f4b7a8e4
commit
4d2da1037d
1 changed files with 24 additions and 13 deletions
|
@ -96,25 +96,36 @@ class NextcloudFilesDatabaseManager : NSObject {
|
||||||
return itemMetadataFromOcId(ocId)
|
return itemMetadataFromOcId(ocId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private func processItemMetadatasToDelete(databaseToWriteTo: Realm,
|
||||||
|
existingMetadatas: [NextcloudItemMetadataTable],
|
||||||
|
updatedMetadatas: [NextcloudItemMetadataTable]) {
|
||||||
|
|
||||||
|
assert(databaseToWriteTo.isInWriteTransaction)
|
||||||
|
|
||||||
|
for existingMetadata in existingMetadatas {
|
||||||
|
guard !updatedMetadatas.contains(where: { $0.ocId == existingMetadata.ocId }),
|
||||||
|
let metadataToDelete = itemMetadataFromOcId(existingMetadata.ocId) else { continue }
|
||||||
|
|
||||||
|
print("""
|
||||||
|
Deleting metadata.
|
||||||
|
ocID: %@,
|
||||||
|
fileName: %@,
|
||||||
|
etag: %@
|
||||||
|
"""
|
||||||
|
, metadataToDelete.ocId, metadataToDelete.fileName, metadataToDelete.etag)
|
||||||
|
databaseToWriteTo.delete(metadataToDelete)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func updateItemMetadatas(existingMetadatas: [NextcloudItemMetadataTable], updatedMetadatas: [NextcloudItemMetadataTable]) {
|
func updateItemMetadatas(existingMetadatas: [NextcloudItemMetadataTable], updatedMetadatas: [NextcloudItemMetadataTable]) {
|
||||||
let database = ncDatabase()
|
let database = ncDatabase()
|
||||||
|
|
||||||
do {
|
do {
|
||||||
try database.write {
|
try database.write {
|
||||||
// Delete metadatas
|
processItemMetadatasToDelete(databaseToWriteTo: database,
|
||||||
for existingMetadata in existingMetadatas {
|
existingMetadatas: existingMetadatas,
|
||||||
guard !updatedMetadatas.contains(where: { $0.ocId == existingMetadata.ocId }),
|
updatedMetadatas: updatedMetadatas)
|
||||||
let metadataToDelete = itemMetadataFromOcId(existingMetadata.ocId) else { continue }
|
|
||||||
|
|
||||||
print("""
|
|
||||||
Deleting metadata.
|
|
||||||
ocID: %@,
|
|
||||||
fileName: %@,
|
|
||||||
etag: %@
|
|
||||||
"""
|
|
||||||
, metadataToDelete.ocId, metadataToDelete.fileName, metadataToDelete.etag)
|
|
||||||
database.delete(metadataToDelete)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update existing or create new metadatas
|
// Update existing or create new metadatas
|
||||||
for updatedMetadata in updatedMetadatas {
|
for updatedMetadata in updatedMetadatas {
|
||||||
|
|
Loading…
Reference in a new issue