Delete SyncDatabase.resetSelectedForProcessing.

This commit is contained in:
Brent Simmons 2024-03-25 21:18:27 -07:00
parent 27d27cbf1a
commit 4385b2d6b7
3 changed files with 16 additions and 32 deletions

View File

@ -148,15 +148,13 @@ private extension CloudKitSendStatusOperation {
Task { @MainActor in
articlesZone.modifyArticles(statusUpdates) { result in
Task { @MainActor in
switch result {
case .success:
Task { @MainActor in
try? await self.database.deleteSelectedForProcessing(statusUpdates.map({ $0.articleID }))
done(false)
}
case .failure(let error):
self.database.resetSelectedForProcessing(syncStatuses.map({ $0.articleID })) { _ in
MainActor.assumeIsolated {
try? await self.database.resetSelectedForProcessing(syncStatuses.map({ $0.articleID }))
self.processAccountError(account, error)
os_log(.error, log: self.log, "Send article status modify articles error: %@.", error.localizedDescription)
completion(true)
@ -166,13 +164,13 @@ private extension CloudKitSendStatusOperation {
}
}
}
}
switch result {
case .success(let articles):
processWithArticles(articles)
case .failure(let databaseError):
self.database.resetSelectedForProcessing(syncStatuses.map({ $0.articleID })) { _ in
Task { @MainActor in
try? await self.database.resetSelectedForProcessing(syncStatuses.map({ $0.articleID }))
os_log(.error, log: self.log, "Send article status fetch articles error: %@.", databaseError.localizedDescription)
completion(true)
}

View File

@ -68,15 +68,13 @@ private extension FeedlySendArticleStatusesOperation {
let database = self.database
group.enter()
service.mark(ids, as: pairing.action) { result in
assert(Thread.isMainThread)
Task { @MainActor in
switch result {
case .success:
Task { @MainActor in
try? await database.deleteSelectedForProcessing(Array(ids))
group.leave()
}
case .failure:
database.resetSelectedForProcessing(Array(ids)) { _ in
try? await database.resetSelectedForProcessing(Array(ids))
group.leave()
}
}

View File

@ -206,18 +206,6 @@ public extension SyncDatabase {
}
}
}
nonisolated func resetSelectedForProcessing(_ articleIDs: [String], completion: DatabaseCompletionBlock? = nil) {
Task { @MainActor in
do {
try await self.resetSelectedForProcessing(articleIDs)
completion?(nil)
} catch {
completion?(DatabaseError.suspended)
}
}
}
}
private extension SyncDatabase {