Include updated articles in those being synced
This commit is contained in:
parent
cf2bed1e69
commit
6cde860701
@ -572,7 +572,7 @@ private extension CloudKitAccountDelegate {
|
|||||||
|
|
||||||
func combinedRefresh(_ account: Account, _ webFeeds: Set<WebFeed>, completion: @escaping () -> Void) {
|
func combinedRefresh(_ account: Account, _ webFeeds: Set<WebFeed>, completion: @escaping () -> Void) {
|
||||||
|
|
||||||
var newArticles = Set<Article>()
|
var newAndUpdatedArticles = Set<Article>()
|
||||||
var deletedArticles = Set<Article>()
|
var deletedArticles = Set<Article>()
|
||||||
|
|
||||||
var refresherWebFeeds = Set<WebFeed>()
|
var refresherWebFeeds = Set<WebFeed>()
|
||||||
@ -591,7 +591,8 @@ private extension CloudKitAccountDelegate {
|
|||||||
switch result {
|
switch result {
|
||||||
case .success(let articleChanges):
|
case .success(let articleChanges):
|
||||||
|
|
||||||
newArticles.formUnion(articleChanges.newArticles ?? Set<Article>())
|
newAndUpdatedArticles.formUnion(articleChanges.newArticles ?? Set<Article>())
|
||||||
|
newAndUpdatedArticles.formUnion(articleChanges.updatedArticles ?? Set<Article>())
|
||||||
deletedArticles.formUnion(articleChanges.deletedArticles ?? Set<Article>())
|
deletedArticles.formUnion(articleChanges.deletedArticles ?? Set<Article>())
|
||||||
|
|
||||||
self.refreshProgress.completeTask()
|
self.refreshProgress.completeTask()
|
||||||
@ -618,7 +619,7 @@ private extension CloudKitAccountDelegate {
|
|||||||
|
|
||||||
group.enter()
|
group.enter()
|
||||||
refresher.refreshFeeds(refresherWebFeeds) { refresherNewArticles, refresherDeletedArticles in
|
refresher.refreshFeeds(refresherWebFeeds) { refresherNewArticles, refresherDeletedArticles in
|
||||||
newArticles.formUnion(refresherNewArticles)
|
newAndUpdatedArticles.formUnion(refresherNewArticles)
|
||||||
deletedArticles.formUnion(refresherDeletedArticles)
|
deletedArticles.formUnion(refresherDeletedArticles)
|
||||||
group.leave()
|
group.leave()
|
||||||
}
|
}
|
||||||
@ -627,7 +628,7 @@ private extension CloudKitAccountDelegate {
|
|||||||
|
|
||||||
self.articlesZone.deleteArticles(deletedArticles) { _ in
|
self.articlesZone.deleteArticles(deletedArticles) { _ in
|
||||||
self.refreshProgress.completeTask()
|
self.refreshProgress.completeTask()
|
||||||
self.articlesZone.saveNewArticles(newArticles) { _ in
|
self.articlesZone.saveNewArticles(newAndUpdatedArticles) { _ in
|
||||||
self.refreshProgress.completeTask()
|
self.refreshProgress.completeTask()
|
||||||
completion()
|
completion()
|
||||||
}
|
}
|
||||||
@ -671,12 +672,13 @@ private extension CloudKitAccountDelegate {
|
|||||||
switch result {
|
switch result {
|
||||||
case .success(let articleChanges):
|
case .success(let articleChanges):
|
||||||
|
|
||||||
let newArticles = articleChanges.newArticles ?? Set<Article>()
|
var newAndUpdatedArticles = articleChanges.newArticles ?? Set<Article>()
|
||||||
|
newAndUpdatedArticles.formUnion(articleChanges.updatedArticles ?? Set<Article>())
|
||||||
let deletedArticles = articleChanges.deletedArticles ?? Set<Article>()
|
let deletedArticles = articleChanges.deletedArticles ?? Set<Article>()
|
||||||
|
|
||||||
self.articlesZone.deleteArticles(deletedArticles) { _ in
|
self.articlesZone.deleteArticles(deletedArticles) { _ in
|
||||||
self.refreshProgress.completeTask()
|
self.refreshProgress.completeTask()
|
||||||
self.articlesZone.saveNewArticles(newArticles) { _ in
|
self.articlesZone.saveNewArticles(newAndUpdatedArticles) { _ in
|
||||||
self.refreshProgress.clear()
|
self.refreshProgress.clear()
|
||||||
completion(.success(feed))
|
completion(.success(feed))
|
||||||
}
|
}
|
||||||
@ -750,12 +752,13 @@ private extension CloudKitAccountDelegate {
|
|||||||
case .success(let articleChanges):
|
case .success(let articleChanges):
|
||||||
|
|
||||||
BatchUpdate.shared.end()
|
BatchUpdate.shared.end()
|
||||||
let newArticles = articleChanges.newArticles ?? Set<Article>()
|
var newAndUpdatedArticles = articleChanges.newArticles ?? Set<Article>()
|
||||||
|
newAndUpdatedArticles.formUnion(articleChanges.updatedArticles ?? Set<Article>())
|
||||||
let deletedArticles = articleChanges.deletedArticles ?? Set<Article>()
|
let deletedArticles = articleChanges.deletedArticles ?? Set<Article>()
|
||||||
|
|
||||||
self.articlesZone.deleteArticles(deletedArticles) { _ in
|
self.articlesZone.deleteArticles(deletedArticles) { _ in
|
||||||
self.refreshProgress.completeTask()
|
self.refreshProgress.completeTask()
|
||||||
self.articlesZone.saveNewArticles(newArticles) { _ in
|
self.articlesZone.saveNewArticles(newAndUpdatedArticles) { _ in
|
||||||
self.refreshProgress.clear()
|
self.refreshProgress.clear()
|
||||||
completion(.success(feed))
|
completion(.success(feed))
|
||||||
}
|
}
|
||||||
|
@ -214,9 +214,13 @@ private extension CloudKitAcountZoneDelegate {
|
|||||||
switch result {
|
switch result {
|
||||||
case .success(let articleChanges):
|
case .success(let articleChanges):
|
||||||
|
|
||||||
self.articlesZone?.deleteArticles(articleChanges.deletedArticles ?? Set<Article>()) { _ in
|
var newAndUpdatedArticles = articleChanges.newArticles ?? Set<Article>()
|
||||||
|
newAndUpdatedArticles.formUnion(articleChanges.updatedArticles ?? Set<Article>())
|
||||||
|
let deletedArticles = articleChanges.deletedArticles ?? Set<Article>()
|
||||||
|
|
||||||
|
self.articlesZone?.deleteArticles(deletedArticles) { _ in
|
||||||
self.refreshProgress?.completeTask()
|
self.refreshProgress?.completeTask()
|
||||||
self.articlesZone?.saveNewArticles(articleChanges.newArticles ?? Set<Article>()) { _ in
|
self.articlesZone?.saveNewArticles(newAndUpdatedArticles) { _ in
|
||||||
self.refreshProgress?.completeTask()
|
self.refreshProgress?.completeTask()
|
||||||
completion(webFeed)
|
completion(webFeed)
|
||||||
}
|
}
|
||||||
@ -251,9 +255,14 @@ private extension CloudKitAcountZoneDelegate {
|
|||||||
BatchUpdate.shared.end()
|
BatchUpdate.shared.end()
|
||||||
switch result {
|
switch result {
|
||||||
case .success(let articleChanges):
|
case .success(let articleChanges):
|
||||||
self.articlesZone?.deleteArticles(articleChanges.deletedArticles ?? Set<Article>()) { _ in
|
|
||||||
|
var newAndUpdatedArticles = articleChanges.newArticles ?? Set<Article>()
|
||||||
|
newAndUpdatedArticles.formUnion(articleChanges.updatedArticles ?? Set<Article>())
|
||||||
|
let deletedArticles = articleChanges.deletedArticles ?? Set<Article>()
|
||||||
|
|
||||||
|
self.articlesZone?.deleteArticles(deletedArticles) { _ in
|
||||||
self.refreshProgress?.completeTask()
|
self.refreshProgress?.completeTask()
|
||||||
self.articlesZone?.saveNewArticles(articleChanges.newArticles ?? Set<Article>()) { _ in
|
self.articlesZone?.saveNewArticles(newAndUpdatedArticles) { _ in
|
||||||
self.refreshProgress?.completeTask()
|
self.refreshProgress?.completeTask()
|
||||||
completion(webFeed)
|
completion(webFeed)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user