Files
bookhoard/bruno/library/Get Libraries (Admin).yml
T
john-okeefe c9e085c164 feat: automate library_id extraction from Get Libraries API response
- Update library_id in Bookhoard environment configuration
- Add post-response script to Get Libraries (Admin) endpoint
- Script automatically extracts and saves first library_id from response
- Enables seamless API testing without manual variable updates
2026-03-27 21:14:31 -04:00

70 lines
1.8 KiB
YAML

info:
name: Get Libraries (Admin)
type: http
seq: 1
http:
method: GET
url: "{{base_url}}/api/libraries"
headers:
- name: ""
value: application/json
auth: inherit
runtime:
scripts:
- type: after-response
code: |-
function onResponse(res) {
try {
const responseBody = res.getBody();
const id = responseBody.data[0].id;
if (id) {
bru.setEnvVar("library_id", id, { persist: true });
console.log("Library ID saved:", id);
}
if (!id) {
console.log("No id found in response.");
}
} catch (error) {
console.error("Error in post-response script:", error.message);
}
}
onResponse(res);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
## Get Libraries (Admin)
Retrieves all libraries in the system (admin access required).
**Method:** GET
**Endpoint:** /api/libraries
**Authentication:** Required (Bearer token, admin permissions)
**Response:** Array of library objects
- `id` (string): Library UUID
- `name` (string): Library name
- `description` (string, optional): Library description
- `type` (string): Library type (ebooks, audiobooks, videos, other)
- `is_visible` (boolean): Library visibility to users
- `media_count` (number): Number of media items in library
- `folder_count` (number): Number of folders associated
- `created_at` (string): Creation timestamp
- `updated_at` (string): Last update timestamp
**Status Codes:**
- 200: Success
- 401: Unauthorized
- 403: Forbidden (admin access required)
- 500: Internal server error