Skip to content

Use Paper's List of Supported Libraries#22

Open
q231950 wants to merge 2 commits into
mainfrom
feature/libraries-to-paper
Open

Use Paper's List of Supported Libraries#22
q231950 wants to merge 2 commits into
mainfrom
feature/libraries-to-paper

Conversation

@q231950

@q231950 q231950 commented Jan 17, 2026

Copy link
Copy Markdown
Owner

Removes Hamburg Public library from list of supported libraries. Besides that performs some refactoring around the supported libraries list. This pr goes hand in hand with q231950/paper#16.

Summary

  • Consolidate library configuration in the Paper framework, removing the local Libraries.plist file
  • Replace hardcoded library exclusion lists with enabledForSearch and enabledForLogin flags from Paper
  • Add Core Data migration (v28→v29) to support new library attributes
  • Introduce LibraryModelProvider protocol for dependency injection

Changes

Library Configuration Centralization

  • Delete Libraries.plist and associated plist parsing logic
  • Create LibraryList wrapper around Paper's library management in PaperMapper.swift
  • Paper framework now serves as the single source of truth for library configurations

Library Model Simplification

  • Remove baseURL and catalogUrl from LibraryModel (now managed by Paper)
  • Add enabledForSearch and enabledForLogin properties to Library protocol
  • Remove computed isAvailable and isAvailableForLogin properties with hardcoded exclusion lists

API Configuration

  • Update AccountScraper, SearchScraper, and SearchResultDetailScraper to fetch API configuration directly from Paper.LibraryList()
  • Remove ApiConfiguration.init(library:) extension

🤖 Generated with https://claude.com/claude-code

q231950 and others added 2 commits January 17, 2026 10:33
Remove Libraries.plist in favor of centralized library management in the Paper framework. The Paper framework now serves as the single source of truth for library configurations.

Key changes:
- Remove Libraries.plist and associated plist parsing logic
- Add LibraryModelProvider protocol for dependency injection
- Create LibraryList wrapper around Paper's library management
- Simplify LibraryModel by removing baseURL and catalogUrl fields
- Update all use cases to fetch libraries from Paper.LibraryList()
- Fix typo: depenency → dependency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replace hardcoded library availability logic with flags from Paper.Library. This delegates library configuration to the Paper framework and removes the need to maintain exclusion lists in the app.

Changes:
- Add enabledForSearch and enabledForLogin to Library protocol
- Remove isAvailable and isAvailableForLogin computed properties
- Update InternalLibraryModel to map flags from Paper.Library
- Update LibraryModel with new properties (default: true)
- Update LibrarySelectionViewModel to use new property names
- Update all test stubs and mocks
- Add Core Data migration (v28→v29) for new library attributes
- Update LibraryManager to persist new flags

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@q231950
q231950 marked this pull request as ready for review January 18, 2026 14:02
@q231950
q231950 requested a review from molikuner January 18, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant