Delete the completion-based deleteSelectedForProcessing method.
This commit is contained in:
parent
64b3fcc2ba
commit
0fb5312139
@ -700,9 +700,11 @@ private extension CloudKitAccountDelegate {
|
||||
}
|
||||
|
||||
func sendNewArticlesToTheCloud(_ account: Account, _ feed: Feed) {
|
||||
account.fetchArticlesAsync(.feed(feed)) { result in
|
||||
switch result {
|
||||
case .success(let articles):
|
||||
|
||||
Task { @MainActor in
|
||||
|
||||
do {
|
||||
let articles = try await account.articles(for: .feed(feed))
|
||||
self.storeArticleChanges(new: articles, updated: Set<Article>(), deleted: Set<Article>()) {
|
||||
self.refreshProgress.completeTask()
|
||||
self.sendArticleStatus(for: account, showProgress: true) { result in
|
||||
@ -714,12 +716,13 @@ private extension CloudKitAccountDelegate {
|
||||
}
|
||||
}
|
||||
}
|
||||
case .failure(let error):
|
||||
|
||||
} catch {
|
||||
os_log(.error, log: self.log, "CloudKit Feed send articles error: %@.", error.localizedDescription)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func processAccountError(_ account: Account, _ error: Error) {
|
||||
if case CloudKitZoneError.userDeletedZone = error {
|
||||
account.removeFeeds(account.topLevelFeeds)
|
||||
|
@ -76,7 +76,8 @@ private extension CloudKitArticlesZoneDelegate {
|
||||
return
|
||||
}
|
||||
|
||||
database.deleteSelectedForProcessing(Array(deletableArticleIDs)) { _ in
|
||||
Task { @MainActor in
|
||||
try? await self.database.deleteSelectedForProcessing(Array(deletableArticleIDs))
|
||||
self.account?.delete(articleIDs: deletableArticleIDs) { _ in
|
||||
completion()
|
||||
}
|
||||
|
@ -140,9 +140,9 @@ private extension CloudKitSendStatusOperation {
|
||||
// but the articles didn't come back in the fetch. We need to clean up those sync records
|
||||
// and stop processing.
|
||||
if statusUpdates.isEmpty {
|
||||
self.database.deleteSelectedForProcessing(articleIDs) { _ in
|
||||
Task { @MainActor in
|
||||
try? await self.database.deleteSelectedForProcessing(articleIDs)
|
||||
done(true)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
|
||||
@ -150,7 +150,8 @@ private extension CloudKitSendStatusOperation {
|
||||
articlesZone.modifyArticles(statusUpdates) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
self.database.deleteSelectedForProcessing(statusUpdates.map({ $0.articleID })) { _ in
|
||||
Task { @MainActor in
|
||||
try? await self.database.deleteSelectedForProcessing(statusUpdates.map({ $0.articleID }))
|
||||
done(false)
|
||||
}
|
||||
case .failure(let error):
|
||||
@ -164,7 +165,7 @@ private extension CloudKitSendStatusOperation {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
switch result {
|
||||
case .success(let articles):
|
||||
processWithArticles(articles)
|
||||
@ -174,10 +175,9 @@ private extension CloudKitSendStatusOperation {
|
||||
completion(true)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func processAccountError(_ account: Account, _ error: Error) {
|
||||
if case CloudKitZoneError.userDeletedZone = error {
|
||||
account.removeFeeds(account.topLevelFeeds)
|
||||
|
@ -71,7 +71,8 @@ private extension FeedlySendArticleStatusesOperation {
|
||||
assert(Thread.isMainThread)
|
||||
switch result {
|
||||
case .success:
|
||||
database.deleteSelectedForProcessing(Array(ids)) { _ in
|
||||
Task { @MainActor in
|
||||
try? await database.deleteSelectedForProcessing(Array(ids))
|
||||
group.leave()
|
||||
}
|
||||
case .failure:
|
||||
|
@ -218,18 +218,6 @@ public extension SyncDatabase {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nonisolated func deleteSelectedForProcessing(_ articleIDs: [String], completion: DatabaseCompletionBlock? = nil) {
|
||||
|
||||
Task {
|
||||
do {
|
||||
try await self.deleteSelectedForProcessing(articleIDs)
|
||||
completion?(nil)
|
||||
} catch {
|
||||
completion?(DatabaseError.suspended)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private extension SyncDatabase {
|
||||
|
Loading…
x
Reference in New Issue
Block a user