mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
update order of delete and save ops when persisting labels
This commit is contained in:
parent
c5aab2becc
commit
3122fd00f0
1 changed files with 6 additions and 5 deletions
|
|
@ -117,15 +117,16 @@ extension Sequence where Element == InternalLinkedItemLabel {
|
|||
let validLabelIDs = map(\.id)
|
||||
let invalidLinkedItemLabels = existingLabels.filter { !validLabelIDs.contains($0.unwrappedID) }
|
||||
|
||||
// Delete all existing labels that aren't part of the newly updated list
|
||||
// received from the server
|
||||
for linkedItem in invalidLinkedItemLabels {
|
||||
context.delete(linkedItem)
|
||||
}
|
||||
|
||||
let labels = map { $0.asManagedObject(inContext: context) }
|
||||
|
||||
do {
|
||||
try context.save()
|
||||
// Delete all existing labels that aren't part of the newly updated list
|
||||
// received from the server
|
||||
for linkedItem in invalidLinkedItemLabels {
|
||||
context.delete(linkedItem)
|
||||
}
|
||||
logger.debug("labels saved succesfully")
|
||||
result = labels.map(\.objectID)
|
||||
} catch {
|
||||
|
|
|
|||
Loading…
Reference in a new issue