diff --git a/Frameworks/ArticlesDatabase/ArticlesDatabase.swift b/Frameworks/ArticlesDatabase/ArticlesDatabase.swift index 623c65775..dd5126693 100644 --- a/Frameworks/ArticlesDatabase/ArticlesDatabase.swift +++ b/Frameworks/ArticlesDatabase/ArticlesDatabase.swift @@ -17,17 +17,11 @@ import Articles // Main thread only. -/// Sync methods may throw this error. Async methods use a result type which will include -/// this error when the database is suspended and therefore not available. -public enum ArticlesDatabaseError: Error { - case databaseIsSuspended -} - public typealias UnreadCountDictionary = [String: Int] // webFeedID: unreadCount -public typealias UnreadCountDictionaryCompletionResult = Result +public typealias UnreadCountDictionaryCompletionResult = Result public typealias UnreadCountDictionaryCompletionBlock = (UnreadCountDictionaryCompletionResult) -> Void -public typealias SingleUnreadCountResult = Result +public typealias SingleUnreadCountResult = Result public typealias SingleUnreadCountCompletionBlock = (SingleUnreadCountResult) -> Void public struct NewAndUpdatedArticles { @@ -35,18 +29,16 @@ public struct NewAndUpdatedArticles { let updatedArticles: Set
? } -public typealias UpdateArticlesResult = Result +public typealias UpdateArticlesResult = Result public typealias UpdateArticlesCompletionBlock = (UpdateArticlesResult) -> Void -public typealias ArticleSetResult = Result, ArticlesDatabaseError> +public typealias ArticleSetResult = Result, DatabaseError> public typealias ArticleSetResultBlock = (ArticleSetResult) -> Void -public typealias DatabaseCompletionBlock = (ArticlesDatabaseError?) -> Void - -public typealias ArticleIDsResult = Result, ArticlesDatabaseError> +public typealias ArticleIDsResult = Result, DatabaseError> public typealias ArticleIDsCompletionBlock = (ArticleIDsResult) -> Void -public typealias ArticleStatusesResult = Result, ArticlesDatabaseError> +public typealias ArticleStatusesResult = Result, DatabaseError> public typealias ArticleStatusesResultBlock = (ArticleStatusesResult) -> Void public final class ArticlesDatabase { @@ -231,13 +223,6 @@ public final class ArticlesDatabase { } } -func databaseError(with databaseQueueError: DatabaseQueueError) -> ArticlesDatabaseError { - switch databaseQueueError { - case .isSuspended: - return .databaseIsSuspended - } -} - // MARK: - Private private extension ArticlesDatabase { diff --git a/Frameworks/ArticlesDatabase/ArticlesTable.swift b/Frameworks/ArticlesDatabase/ArticlesTable.swift index d552d750d..23903289d 100644 --- a/Frameworks/ArticlesDatabase/ArticlesTable.swift +++ b/Frameworks/ArticlesDatabase/ArticlesTable.swift @@ -103,13 +103,13 @@ final class ArticlesTable: DatabaseTable { func fetchArticlesMatching(_ searchString: String) throws -> Set
{ var articles: Set
= Set
() - var error: ArticlesDatabaseError? = nil + var error: DatabaseError? = nil queue.runInDatabaseSync { (databaseResult) in switch databaseResult { case .success(let database): articles = self.fetchArticlesMatching(searchString, database) - case .failure(let databaseQueueError): - error = databaseError(with: databaseQueueError) + case .failure(let databaseError): + error = databaseError } } if let error = error { @@ -190,7 +190,7 @@ final class ArticlesTable: DatabaseTable { self.queue.runInTransaction { (databaseResult) in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -233,7 +233,7 @@ final class ArticlesTable: DatabaseTable { queue.runInTransaction { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion?(databaseError(with: databaseResult.error!)) + completion?(databaseResult.error!) } return } @@ -253,7 +253,7 @@ final class ArticlesTable: DatabaseTable { queue.runInTransaction { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -283,7 +283,7 @@ final class ArticlesTable: DatabaseTable { queue.runInDatabase { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -309,7 +309,7 @@ final class ArticlesTable: DatabaseTable { queue.runInDatabase { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -337,7 +337,7 @@ final class ArticlesTable: DatabaseTable { queue.runInDatabase { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -374,7 +374,7 @@ final class ArticlesTable: DatabaseTable { queue.runInDatabase { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -411,13 +411,13 @@ final class ArticlesTable: DatabaseTable { func mark(_ articles: Set
, _ statusKey: ArticleStatus.Key, _ flag: Bool) throws -> Set? { var statuses: Set? - var error: ArticlesDatabaseError? + var error: DatabaseError? self.queue.runInTransactionSync { databaseResult in switch databaseResult { case .success(let database): statuses = self.statusesTable.mark(articles.statuses(), statusKey, flag, database) - case .failure(let databaseQueueError): - error = databaseError(with: databaseQueueError) + case .failure(let databaseError): + error = databaseError } } @@ -496,13 +496,13 @@ private extension ArticlesTable { private func fetchArticles(_ fetchMethod: @escaping ArticlesFetchMethod) throws -> Set
{ var articles = Set
() - var error: ArticlesDatabaseError? = nil + var error: DatabaseError? = nil queue.runInDatabaseSync { databaseResult in switch databaseResult { case .success(let database): articles = fetchMethod(database) - case .failure(let databaseQueueError): - error = databaseError(with: databaseQueueError) + case .failure(let databaseError): + error = databaseError } } if let error = error { @@ -515,7 +515,7 @@ private extension ArticlesTable { queue.runInDatabase { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } @@ -684,7 +684,7 @@ private extension ArticlesTable { queue.runInDatabase { databaseResult in guard let database = databaseResult.database else { DispatchQueue.main.async { - completion(.failure(databaseError(with: databaseResult.error!))) + completion(.failure(databaseResult.error!)) } return } diff --git a/Frameworks/ArticlesDatabase/StatusesTable.swift b/Frameworks/ArticlesDatabase/StatusesTable.swift index 4cf414c8f..bbe1deda5 100644 --- a/Frameworks/ArticlesDatabase/StatusesTable.swift +++ b/Frameworks/ArticlesDatabase/StatusesTable.swift @@ -100,7 +100,7 @@ final class StatusesTable: DatabaseTable { } func fetchArticleIDs(_ sql: String) throws -> Set { - var error: ArticlesDatabaseError? + var error: DatabaseError? var articleIDs = Set() queue.runInDatabaseSync { databaseResult in switch databaseResult { @@ -108,8 +108,8 @@ final class StatusesTable: DatabaseTable { if let resultSet = database.executeQuery(sql, withArgumentsIn: nil) { articleIDs = resultSet.mapToSet(self.articleIDWithRow) } - case .failure(let databaseQueueError): - error = databaseError(with: databaseQueueError) + case .failure(let databaseError): + error = databaseError } }