Try to avoid merge conflicts when deleting items

This can happen because the serverSyncStatus can be changed.
This commit is contained in:
Jackson Harper
2023-02-03 17:31:12 +08:00
parent ea0f114d64
commit d3052cffbc
4 changed files with 22 additions and 21 deletions

View File

@ -59,14 +59,14 @@ public extension DataService {
highlight.remove(inContext: context)
} else {
highlight.serverSyncStatus = Int64(ServerSyncStatus.needsDeletion.rawValue)
}
do {
try context.save()
logger.debug("Highlight deleted succesfully")
} catch {
context.rollback()
logger.debug("Failed to delete Highlight: \(error.localizedDescription)")
do {
try context.save()
logger.debug("Highlight deleted succesfully")
} catch {
context.rollback()
logger.debug("Failed to delete Highlight: \(error.localizedDescription)")
}
}
}
}

View File

@ -100,6 +100,7 @@ extension DataService {
if let highlightObject = (try? context.fetch(fetchRequest))?.first {
if isSyncSuccess {
highlightObject.remove(inContext: context)
return
} else {
highlightObject.serverSyncStatus = Int64(ServerSyncStatus.needsDeletion.rawValue)
}

View File

@ -57,14 +57,14 @@ extension DataService {
label.remove(inContext: context)
} else {
label.serverSyncStatus = Int64(ServerSyncStatus.needsDeletion.rawValue)
}
do {
try context.save()
logger.debug("LinkedItem deleted succesfully")
} catch {
context.rollback()
logger.debug("Failed to delete LinkedItem: \(error.localizedDescription)")
do {
try context.save()
logger.debug("LinkedItem deleted succesfully")
} catch {
context.rollback()
logger.debug("Failed to delete LinkedItem: \(error.localizedDescription)")
}
}
}
}

View File

@ -67,14 +67,14 @@ public extension DataService {
linkedItem.remove(inContext: context)
} else {
linkedItem.serverSyncStatus = Int64(ServerSyncStatus.needsDeletion.rawValue)
}
do {
try context.save()
logger.debug("LinkedItem deleted succesfully")
} catch {
context.rollback()
logger.debug("Failed to delete LinkedItem: \(error.localizedDescription)")
do {
try context.save()
logger.debug("LinkedItem deleted succesfully")
} catch {
context.rollback()
logger.debug("Failed to delete LinkedItem: \(error.localizedDescription)")
}
}
}
}