docs: add Carousel dashboard implementation plan

This commit is contained in:
2026-02-17 17:00:46 -05:00
parent fce16b53f7
commit 96730d9475
407 changed files with 10834 additions and 10983 deletions
-43
View File
@@ -1,43 +0,0 @@
meta {
name: Clear Device Queue
type: http
seq: 6
}
delete {
url: {{base_url}}/api/queue/devices/{{device_id}}/clear
body: none
auth: inherit
}
docs {
## Clear Device Queue
Clears all queue items for a specific device.
**Method:** DELETE
**Endpoint:** /api/queue/devices/:device_id/clear
**Authentication:** Bearer token
**Path Parameters:**
- `device_id` (string): Device UUID
**Response:**
- Success message with count of cleared items
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Device not found
**Example Response:**
```json
{
"message": "Queue cleared",
"device_id": "uuid",
"cleared_count": 10
}
```
}
-42
View File
@@ -1,42 +0,0 @@
meta {
name: Delete Queue Item
type: http
seq: 5
}
delete {
url: {{base_url}}/api/queue/items/{{item_id}}
body: none
auth: inherit
}
docs {
## Delete Queue Item
Deletes a queue item from the sync queue.
**Method:** DELETE
**Endpoint:** /api/queue/items/:item_id
**Authentication:** Bearer token
**Path Parameters:**
- `item_id` (string): Queue item UUID
**Response:**
- Success message confirming deletion
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Queue item not found
**Example Response:**
```json
{
"message": "Queue item deleted",
"item_id": "uuid"
}
```
}
@@ -1,71 +0,0 @@
meta {
name: Filter by Status - Pending
type: http
seq: 3
}
docs {
Filter queue items by status - show only pending items.
**Endpoint**: GET /queue/items?status=pending
**Auth**: Required (Bearer token)
## Query Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| status | string | Yes | Status filter: pending, processing, completed, failed |
## Response Fields
| Field | Type | Description |
|-------|------|-------------|
| items | array | List of queue items with pending status |
| total | int | Total matching items |
## Example Request
```
GET /queue/items?status=pending
```
## Example Response
```json
{
"items": [...],
"total": 15
}
```
## Error Responses
| Code | Description |
|------|-------------|
| 401 | Unauthorized |
| 500 | Internal server error |
## Notes
- Only returns items with the specified status
}
get {
url: {{base_url}}/queue/items?status=pending
body: none
auth: inherit
}
token: {{jwt_token}}
}
tests {
test("status must be 200", function() {
expect(res.status).to.eql(200);
});
}
settings {
encodeUrl: true
timeout: 0
}
-45
View File
@@ -1,45 +0,0 @@
meta {
name: Get Device Queue Stats
type: http
seq: 2
}
get {
url: {{base_url}}/api/queue/devices/{{device_id}}/stats
body: none
auth: inherit
}
docs {
## Get Device Queue Stats
Retrieves statistics for a specific device's sync queue.
**Method:** GET
**Endpoint:** /api/queue/devices/:device_id/stats
**Authentication:** Bearer token
**Path Parameters:**
- `device_id` (string): Device UUID
**Response:**
- Queue statistics including pending, completed, and failed counts
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Device not found
**Example Response:**
```json
{
"device_id": "uuid",
"total_items": 10,
"pending": 3,
"completed": 5,
"failed": 2
}
```
}
@@ -1,44 +0,0 @@
meta {
name: List All Queue Items (Admin)
type: http
seq: 1
}
get {
url: {{base_url}}/api/queue/items
body: none
auth: inherit
}
docs {
## List All Queue Items (Admin)
Retrieves all queue items across all devices (admin only).
**Method:** GET
**Endpoint:** /api/queue/items
**Authentication:** Bearer token (admin role required)
**Response:**
- Array of queue items with device and status information
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 403: Forbidden - admin role required
**Example Response:**
```json
[
{
"id": "uuid",
"device_id": "uuid",
"item_type": "progress",
"status": "pending",
"created_at": "2024-01-01T00:00:00Z"
}
]
```
}
-49
View File
@@ -1,49 +0,0 @@
meta {
name: List Device Queue Items
type: http
seq: 3
}
get {
url: {{base_url}}/api/queue/devices/{{device_id}}/items
body: none
auth: inherit
}
docs {
## List Device Queue Items
Retrieves all queue items for a specific device.
**Method:** GET
**Endpoint:** /api/queue/devices/:device_id/items
**Authentication:** Bearer token
**Path Parameters:**
- `device_id` (string): Device UUID
**Response:**
- Array of queue items for the specified device
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Device not found
**Example Response:**
```json
[
{
"id": "uuid",
"device_id": "uuid",
"item_type": "progress",
"status": "pending",
"data": {},
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
```
}
@@ -1,65 +0,0 @@
meta {
name: List Queue Items (With Pagination)
type: http
seq: 2
}
docs {
List items in the sync queue with pagination.
**Endpoint**: GET /queue/items
**Auth**: Required (Bearer token)
## Query Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| limit | int | No | Items per page |
| offset | int | No | Pagination offset |
## Response Fields
| Field | Type | Description |
|-------|------|-------------|
| items | array | List of queue items |
| total | int | Total number of items |
| page | int | Current page number |
| per_page | int | Items per page |
## Example Request
```
GET /queue/items?limit=50&offset=0
```
## Error Responses
| Code | Description |
|------|-------------|
| 401 | Unauthorized |
| 500 | Internal server error |
## Notes
- Supports pagination for large queue lists
}
get {
url: {{base_url}}/queue/items?limit=50&offset=0
body: none
auth: inherit
}
token: {{jwt_token}}
}
tests {
test("status must be 200", function() {
expect(res.status).to.eql(200);
});
}
settings {
encodeUrl: true
timeout: 0
}
View File
-43
View File
@@ -1,43 +0,0 @@
meta {
name: Retry Queue Item
type: http
seq: 4
}
post {
url: {{base_url}}/api/queue/items/{{item_id}}/retry
body: none
auth: inherit
}
docs {
## Retry Queue Item
Retries a failed queue item.
**Method:** POST
**Endpoint:** /api/queue/items/:item_id/retry
**Authentication:** Bearer token
**Path Parameters:**
- `item_id` (string): Queue item UUID
**Response:**
- Success message indicating retry initiated
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Queue item not found
- 400: Invalid item status
**Example Response:**
```json
{
"message": "Queue item retry initiated",
"item_id": "uuid"
}
```
}
-85
View File
@@ -1,85 +0,0 @@
meta {
name: "Bookhoard Sync Queue API"
type: "collection"
environment: {
development: {
base_url: "http://localhost:8765/api"
},
production: {
base_url: "https://your-domain.com/api"
}
}
}
# List Queue Items
@name("List All Queue Items")
GET {{environment.base_url}}/queue/items
Authorization: Bearer {{jwt_token}}
@name("List Queue Items - With Pagination")
GET {{environment.base_url}}/queue/items?limit=50&offset=0
Authorization: Bearer {{jwt_token}}
@name("Filter by Status - Pending")
GET {{environment.base_url}}/queue/items?status=pending
Authorization: Bearer {{jwt_token}}
@name("Filter by Status - Failed")
GET {{environment.base_url}}/queue/items?status=failed
Authorization: Bearer {{jwt_token}}
@name("Filter by Status - Completed")
GET {{environment.base_url}}/queue/items?status=completed
Authorization: Bearer {{jwt_token}}
@name("Filter by Type - Progress")
GET {{environment.base_url}}/queue/items?status=all&type=progress
Authorization: Bearer {{jwt_token}}
@name("Filter by Type - Notes")
GET {{environment.base_url}}/queue/items?status=all&type=note
Authorization: Bearer {{jwt_token}}
@name("Filter by Type - Highlights")
GET {{environment.base_url}}/queue/items?status=all&type=highlight
Authorization: Bearer {{jwt_token}}
@name("Filter by Type - Bookmarks")
GET {{environment.base_url}}/queue/items?status=all&type=bookmark
Authorization: Bearer {{jwt_token}}
# Process Queue Item
@name("Process Queue Item")
POST {{environment.base_url}}/queue/items/{{queue_item_id}}/process
Authorization: Bearer {{jwt_token}}
@name("Retry Queue Item")
POST {{environment.base_url}}/queue/items/{{queue_item_id}}/retry
Authorization: Bearer {{jwt_token}}
# Delete Queue Item
@name("Delete Queue Item")
DELETE {{environment.base_url}}/queue/items/{{queue_item_id}}
Authorization: Bearer {{jwt_token}}
# Clear All Queue
@name("Clear All Queue Items")
DELETE {{environment.base_url}}/queue/clear
Authorization: Bearer {{jwt_token}}
@name("Clear Failed Items")
DELETE {{environment.base_url}}/queue/clear-failed
Authorization: Bearer {{jwt_token}}
# Get Queue Stats
@name("Get Queue Statistics")
GET {{environment.base_url}}/queue/stats
Authorization: Bearer {{jwt_token}}
@name("Get Device Queue Stats")
GET {{environment.base_url}}/queue/devices/{{device_id}}/stats
Authorization: Bearer {{jwt_token}}
@name("Get Device Queue Items")
GET {{environment.base_url}}/queue/devices/{{device_id}}/items
Authorization: Bearer {{jwt_token}}