diff --git a/Zotero/Controllers/Database/Requests/ReadItemDbRequest.swift b/Zotero/Controllers/Database/Requests/ReadItemDbRequest.swift index ad5a1d9d5..1904cbdb4 100644 --- a/Zotero/Controllers/Database/Requests/ReadItemDbRequest.swift +++ b/Zotero/Controllers/Database/Requests/ReadItemDbRequest.swift @@ -25,18 +25,3 @@ struct ReadItemDbRequest: DbResponseRequest { return item } } - -struct ReadItemGloballyDbRequest: DbResponseRequest { - typealias Response = RItem - - let key: String - - var needsWrite: Bool { return false } - - func process(in database: Realm) throws -> RItem { - guard let item = database.objects(RItem.self).filter(.key(key)).first else { - throw DbError.objectNotFound - } - return item - } -} diff --git a/Zotero/Controllers/OpenItemsController.swift b/Zotero/Controllers/OpenItemsController.swift index c75f266ad..1ebf05a64 100644 --- a/Zotero/Controllers/OpenItemsController.swift +++ b/Zotero/Controllers/OpenItemsController.swift @@ -160,11 +160,14 @@ final class OpenItemsController { do { try dbStorage.perform(on: .main) { coordinator in for item in items { - do { - let rItem = try coordinator.perform(request: ReadItemGloballyDbRequest(key: item.key)) - itemTuples.append((item, rItem)) - } catch let itemError { - DDLogError("OpenItemsController: can't load globally item \(item) - \(itemError)") + switch item { + case .pdf(let libraryId, let key): + do { + let rItem = try coordinator.perform(request: ReadItemDbRequest(libraryId: libraryId, key: key)) + itemTuples.append((item, rItem)) + } catch let itemError { + DDLogError("OpenItemsController: can't load item \(item) - \(itemError)") + } } } }