- 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
54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
info:
|
|
name: KOReader Sync Progress
|
|
type: http
|
|
seq: 1
|
|
http:
|
|
method: POST
|
|
url: '{{base_url}}/api/sync/koreader/progress'
|
|
auth: inherit
|
|
body:
|
|
type: json
|
|
jsonBody: "{\n \"library_id\": null,\n \"books\": [\n {\n \"\
|
|
uuid\": \"{{book_uuid"
|
|
headers:
|
|
- key: Authorization
|
|
value: Bearer {{device_token
|
|
|
|
docs: |-
|
|
## KOReader Sync Progress
|
|
|
|
Synchronizes reading progress from a KOReader device to the Bookhoard server.
|
|
|
|
**Method:** POST
|
|
|
|
**Endpoint:** /api/sync/koreader/progress
|
|
|
|
**Authentication:** Bearer token (device token)
|
|
|
|
**Request Body:**
|
|
- `library_id` (string, optional): Library UUID
|
|
- `books` (array): Array of book progress objects
|
|
- `uuid` (string): Book UUID
|
|
- `title` (string): Book title
|
|
- `authors` (array): List of authors
|
|
- `progress` (number): Progress value
|
|
- `percentage` (number): Percentage complete (0-1)
|
|
- `last_read` (string): ISO 8601 timestamp
|
|
- `chapter` (number): Current chapter
|
|
- `epubcfi` (string): EPUB Canonical Fragment Identifier
|
|
- `page` (number): Current page
|
|
- `total_pages` (number): Total pages
|
|
- `sync_mode` (string): Sync mode (immediate, deferred)
|
|
- `device_info` (object): Device information
|
|
- `koreader_version` (string): KOReader version
|
|
- `device_model` (string): Device model identifier
|
|
|
|
**Response:**
|
|
- `sync_status` (string): Sync status (accepted, processing)
|
|
- `books_synced` (number): Number of books synced
|
|
|
|
**Status Codes:**
|
|
- 202: Accepted - sync queued
|
|
- 401: Unauthorized
|
|
- 500: Internal server error
|