- Add POST /api/ebooks for creating new ebook entries - Add PUT /api/ebooks/:id for updating existing ebook metadata - Add DELETE /api/ebooks/:id for deleting ebooks from database - Include complete request/response examples with all metadata fields - Support file path, metadata, and publication information updates
78 lines
2.1 KiB
Plaintext
78 lines
2.1 KiB
Plaintext
meta {
|
|
name: Update Ebook
|
|
type: http
|
|
seq: 9
|
|
}
|
|
|
|
put {
|
|
url: {{base_url}}/api/ebooks/{{ebook_id}}
|
|
body: json
|
|
auth: inherit
|
|
}
|
|
|
|
body:json {
|
|
{
|
|
"title": "Updated Ebook Title",
|
|
"author": "Updated Author Name",
|
|
"isbn": "978-0123456789",
|
|
"description": "Updated ebook description",
|
|
"cover_image_path": "/path/to/updated_cover.jpg",
|
|
"series": "Updated Series",
|
|
"series_number": 2,
|
|
"tags": "fiction,adventure,updated",
|
|
"asin": "B00EXAMPLE2",
|
|
"date_published": "2023-02-15",
|
|
"publisher": "Updated Publisher",
|
|
"contributors": "Updated Contributor Name"
|
|
}
|
|
}
|
|
|
|
settings {
|
|
encodeUrl: true
|
|
timeout: 0
|
|
}
|
|
|
|
docs {
|
|
## Update Ebook
|
|
|
|
Updates an existing ebook's metadata.
|
|
|
|
**Method:** PUT
|
|
|
|
**Endpoint:** /api/ebooks/:id
|
|
|
|
**Authentication:** Required (Admin only)
|
|
|
|
**Path Parameters:**
|
|
- `id` (string): Ebook ID (UUID)
|
|
|
|
**Request Body:** JSON object with:
|
|
- `title` (string, required): Updated ebook title (1-500 characters)
|
|
- `author` (string, optional): Updated author name
|
|
- `isbn` (string, optional): Updated ISBN number
|
|
- `description` (string, optional): Updated ebook description
|
|
- `cover_image_path` (string, optional): Updated path to cover image
|
|
- `series` (string, optional): Updated series name
|
|
- `series_number` (integer, optional): Updated number in series
|
|
- `tags` (string, optional): Updated comma-separated tags
|
|
- `asin` (string, optional): Updated Amazon ASIN
|
|
- `date_published` (string, optional): Updated publication date (YYYY-MM-DD)
|
|
- `publisher` (string, optional): Updated publisher name
|
|
- `contributors` (string, optional): Updated contributors list
|
|
|
|
**Response:** Updated ebook object with all fields
|
|
|
|
**Status Codes:**
|
|
- 200: Ebook updated successfully
|
|
- 400: Bad request (invalid data or ID)
|
|
- 401: Unauthorized
|
|
- 403: Forbidden (admin access required)
|
|
- 404: Ebook not found
|
|
- 500: Internal server error
|
|
|
|
**Features:**
|
|
- Admin-only endpoint for updating ebook metadata
|
|
- Updates only provided fields, preserves others
|
|
- Full validation of all fields
|
|
- Cannot update file_path, file_size, or mime_type (file properties)
|
|
} |