* Implement Komga API endpoints with OPDS authentication
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Add database migration and documentation for Komga API
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Address code review comments - improve performance and maintainability
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* chore: update with main develop
* chore: log cleanup
* chore: fixed switch with missing types
* chore: missing case
* Merge pull request #4 from farfromrefug/copilot/fix-500-error-on-books-api
Fix NPE in Komga books API when pageCount is null and add unpaged parameter
* Add collections endpoint and page download with PNG conversion support
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Address code review feedback for better resource management and error messages
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Fix convert parameter to match specification (convert=png)
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* chore: renamed migration
* chore: migration
* chore: migration fix
* chore: should work now
* chore: settings
* chore: working with mihon
* Initial plan
* Add clean query parameter for Komga API endpoints
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Address code review comments - remove unused imports and add @Primary annotation
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Add demo test to illustrate clean mode effectiveness
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Support both ?clean and ?clean=true syntax
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Filter out empty arrays in clean mode
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* chore: missing field
* chore: missing field
* chore: fix error with missing number
* fix: added groupUnknown API parameters to sort by "Unknown Series" (true by default)
* Initial plan
* Convert groupUnknown from query parameter to Booklore setting
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Remove unused groupUnknown variables from service and mapper
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* chore: fix seriesTitle in ungrouped unknowns
* Initial plan
* Optimize Komga API performance for series listing
- Optimize getAllSeries to only convert series on current page to DTOs
- Optimize getBooksBySeries to fetch books only once (not twice)
- Add database query methods for future optimizations
- Update tests to work with new optimizations
- All existing tests pass
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Clean up unused database query methods in BookRepository
Remove unused optimization queries that don't align with application-level series grouping logic
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* Optimize getAllSeries to query distinct series names from database
- Add database queries to fetch distinct series names directly (no need to load all books)
- Add queries to fetch books only for specific series (when building DTOs)
- Support both groupUnknown=true and groupUnknown=false modes
- Add test to verify optimization works and books aren't loaded unnecessarily
- Performance improvement: For 1000+ books grouped into 100+ series, now only queries series names (~100 rows) instead of loading all books (~1000+ rows), then loads books only for the current page (~20-50 books per series on page)
Co-authored-by: farfromrefug <655344+farfromrefug@users.noreply.github.com>
* chore: migration fix from merge
* chore: address comments
* fix: handle getBookPage for PDF/CBX
* chore: rename migration
* chore: komga specific series queries fix
* chore: komga tests fix
* chore: front end komga tests
---------
Co-authored-by: Aditya Chandel <8075870+adityachandelgit@users.noreply.github.com>
Co-authored-by: ACX <8075870+acx10@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>