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
@@ -1,59 +0,0 @@
meta {
name: Create Media Highlight
type: http
seq: 2
}
post {
url: {{base_url}}/api/media-items/{{media_item_id}}/highlights
body: json
auth: inherit
}
body:json {
{
"selection_text": "This is the highlighted text from the media item.",
"start_position": "page:45:offset:120",
"end_position": "page:45:offset:145",
"color": "#ffff00",
"note_id": ""
}
}
script:post-response {
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Create Media Highlight
Creates a new highlight for a specific media item.
**Method:** POST
**Endpoint:** /api/media-items/:id/highlights
**Path Parameters:**
- `id` (string): Media item ID
**Request Body:**
- `selection_text` (string): Highlighted text (required, 1-5000 chars)
- `start_position` (string): Start position (required, max 100 chars)
- `end_position` (string): End position (required, max 100 chars)
- `color` (string): Highlight color in hex format (optional, default #ffff00)
- `note_id` (string): Optional associated note ID
**Response:**
- Highlight object with all fields including generated ID and timestamps
**Status Codes:**
- 201: Created
- 400: Invalid request
- 401: Unauthorized
- 404: Media item not found
}
@@ -1,42 +0,0 @@
meta {
name: Delete Media Highlight
type: http
seq: 5
}
delete {
url: {{base_url}}/api/media-items/{{media_item_id}}/highlights/{{highlight_id}}
body: none
auth: inherit
}
script:post-response {
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Delete Media Highlight
Deletes a specific highlight.
**Method:** DELETE
**Endpoint:** /api/media-items/:id/highlights/:highlightId
**Path Parameters:**
- `id` (string): Media item ID
- `highlightId` (string): Highlight ID
**Response:**
- 204 No Content on success
**Status Codes:**
- 204: Success
- 401: Unauthorized
- 404: Highlight not found
}
-51
View File
@@ -1,51 +0,0 @@
meta {
name: Get Media Highlights
type: http
seq: 1
}
get {
url: {{base_url}}/api/media-items/{{media_item_id}}/highlights
body: none
auth: inherit
}
script:post-response {
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Get Media Highlights
Retrieves all highlights for a specific media item for the authenticated user.
**Method:** GET
**Endpoint:** /api/media-items/:id/highlights
**Path Parameters:**
- `id` (string): Media item ID
**Response:**
- Array of highlight objects with fields:
- `id` (string): Highlight ID
- `media_item_id` (string): Media item ID
- `user_id` (string): User ID
- `selection_text` (string): Highlighted text
- `start_position` (string): Start position
- `end_position` (string): End position
- `color` (string): Highlight color (hex)
- `note_id` (string): Optional associated note ID
- `created_at` (string): Creation timestamp
- `updated_at` (string): Last update timestamp
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Media item not found
}
@@ -1,42 +0,0 @@
meta {
name: Get Single Media Highlight
type: http
seq: 3
}
get {
url: {{base_url}}/api/media-items/{{media_item_id}}/highlights/{{highlight_id}}
body: none
auth: inherit
}
script:post-response {
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Get Single Media Highlight
Retrieves a specific highlight by ID.
**Method:** GET
**Endpoint:** /api/media-items/:id/highlights/:highlightId
**Path Parameters:**
- `id` (string): Media item ID
- `highlightId` (string): Highlight ID
**Response:**
- Highlight object with all fields
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 404: Highlight not found
}
@@ -1,60 +0,0 @@
meta {
name: Update Media Highlight
type: http
seq: 4
}
put {
url: {{base_url}}/api/media-items/{{media_item_id}}/highlights/{{highlight_id}}
body: json
auth: inherit
}
body:json {
{
"selection_text": "This is the updated highlighted text.",
"start_position": "page:45:offset:125",
"end_position": "page:45:offset:150",
"color": "#ffeb3b",
"note_id": ""
}
}
script:post-response {
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Update Media Highlight
Updates an existing highlight.
**Method:** PUT
**Endpoint:** /api/media-items/:id/highlights/:highlightId
**Path Parameters:**
- `id` (string): Media item ID
- `highlightId` (string): Highlight ID
**Request Body:**
- `selection_text` (string): Updated highlighted text (required, 1-5000 chars)
- `start_position` (string): Updated start position (required, max 100 chars)
- `end_position` (string): Updated end position (required, max 100 chars)
- `color` (string): Updated highlight color in hex format (optional)
- `note_id` (string): Updated associated note ID (optional)
**Response:**
- Updated highlight object with all fields
**Status Codes:**
- 200: Success
- 400: Invalid request
- 401: Unauthorized
- 404: Highlight not found
}