- Move all files from bruno-yaml/* to bruno/* - Maintains existing directory structure within categories - Updates bruno/user/auth files with OAuth2 refresh token flow - Updates bruno/user/profile files for user profile management - Adds bruno/dashboard/ directory with dashboard API tests - Preserves all existing test scenarios and OpenCollection YAML format - No functional changes - file reorganization only
104 lines
3.2 KiB
YAML
104 lines
3.2 KiB
YAML
info:
|
|
name: Get User Library for KOReader
|
|
type: http
|
|
seq: 9
|
|
|
|
http:
|
|
method: GET
|
|
url: '{{base_url}}/api/sync/koreader/library'
|
|
auth: inherit
|
|
|
|
docs: |-
|
|
## Get KOReader User Library
|
|
|
|
Retrieves the user's book library for KOReader device sync.
|
|
|
|
**Method:** GET
|
|
|
|
**Endpoint:** /api/sync/koreader/library
|
|
|
|
**Authentication:** Bearer token (koreader_device_token)
|
|
|
|
**Query Parameters:**
|
|
None (returns entire library)
|
|
|
|
**Response:**
|
|
- `books` (array): Library items
|
|
- `uuid` (string): SHA-256 based book identifier
|
|
- `title` (string): Book title
|
|
- `authors` (array): Author names
|
|
- `series` (string, optional): Series name
|
|
- `series_index` (number, optional): Series position
|
|
- `publisher` (string, optional): Publisher
|
|
- `publication_date` (string, optional): Release date
|
|
- `language` (string, optional): Language code
|
|
- `description` (string, optional): Description
|
|
- `cover_url` (string, optional): Cover image URL
|
|
- `cover_thumbnail_url` (string, optional): Thumbnail URL
|
|
- `file_metadata` (object):
|
|
- `format` (string): File format
|
|
- `file_size` (integer): Size in bytes
|
|
- `pages` (integer, optional): Page count
|
|
- `progress` (object, optional): Reading progress
|
|
- `percentage` (number): Progress 0-100
|
|
- `last_read` (string): Last read timestamp
|
|
- `epubcfi` (string): Current position
|
|
- `annotations_count` (object, optional): Annotation stats
|
|
- `highlights` (integer): Highlight count
|
|
- `notes` (integer): Note count
|
|
- `bookmarks` (integer): Bookmark count
|
|
- `library_info` (object):
|
|
- `total_books` (integer): Total book count
|
|
- `last_sync` (string): Last library sync timestamp
|
|
- `has_updates` (boolean): Updates available
|
|
- `user_info` (object):
|
|
- `user_id` (string): User identifier
|
|
- `email` (string): Email (masked)
|
|
- `libraries` (array): Available library IDs
|
|
|
|
**Status Codes:**
|
|
- 200: Success
|
|
- 401: Unauthorized
|
|
- 403: Device not approved
|
|
|
|
**Library Purpose for KOReader:**
|
|
- Discover books available for download
|
|
- Browse catalog on device
|
|
- Sync reading progress across books
|
|
- Download covers/metadata
|
|
- Series-based organization
|
|
- Cloud library access
|
|
|
|
**KOReader Device Features:**
|
|
- **OPDS catalog**: Native OPDS client
|
|
- **File browser**: See server books
|
|
- **Cloud download**: Download books on-demand
|
|
- **Metadata sync**: Automatic metadata fetching
|
|
- **Cover images**: Display in library view
|
|
- **Progress sync**: See progress across all books
|
|
- **Search**: Search library by title/author
|
|
|
|
**KOReader-Specific Features:**
|
|
- SHA-256 based book IDs
|
|
- Multi-format support (EPUB, FB2, PDF, DJVU, MOBI, etc.)
|
|
- Series sorting and grouping
|
|
- Language filtering
|
|
- Cover image caching
|
|
- Metadata for file browser enhancement
|
|
- Integration with KOReader's OPDS client
|
|
|
|
**Performance:**
|
|
- Typical response: 100-500KB for 100 books
|
|
- Processing time: 300ms-1s
|
|
- Cache duration: 5 minutes
|
|
- Pagination support for libraries >500 books
|
|
|
|
**Use Cases:**
|
|
- Initial device setup
|
|
- Library browsing on device
|
|
- Book download
|
|
- Metadata refresh
|
|
- Cover image sync
|
|
- Progress overview
|
|
- Series-based reading
|