Standardize all Bruno API request files with consistent formatting and structure to improve maintainability and readability. Changes include: - Consolidate URL parameters into main URL instead of separate definitions - Standardize quote style (double quotes throughout) - Add proper settings section with defaults (timeout, redirects, etc.) - Improve YAML formatting with literal style for multi-line content - Remove redundant fields (disabled: false) - Clean up header and body structure - Update sequence numbers for better organization - Add scenarios folder structure for organized test groupings Removes obsolete Search Invalid Library ID test case. Environment configuration updated with new library_id for testing. These changes improve the Bruno collection's maintainability and make it easier to create new API requests following established patterns.
90 lines
2.3 KiB
YAML
90 lines
2.3 KiB
YAML
info:
|
|
name: Field Values Search - Languages
|
|
type: http
|
|
seq: 8
|
|
|
|
http:
|
|
method: GET
|
|
url: "{{base_url}}/api/media-items/search?library_id={{library_id}}&language=eng&limit=50"
|
|
params:
|
|
- name: library_id
|
|
value: "{{library_id}}"
|
|
type: query
|
|
- name: language
|
|
value: eng
|
|
type: query
|
|
- name: limit
|
|
value: "50"
|
|
type: query
|
|
auth: inherit
|
|
|
|
settings:
|
|
encodeUrl: true
|
|
timeout: 0
|
|
followRedirects: true
|
|
maxRedirects: 5
|
|
|
|
docs: |-
|
|
## Field Values Search - Languages
|
|
|
|
Fetches distinct language values for autocomplete dropdowns with counts and similarity scores.
|
|
|
|
**Method:** GET
|
|
|
|
**Endpoint:** /api/media-items/search
|
|
|
|
**Authentication:** Required (Bearer token)
|
|
|
|
**Query Parameters:**
|
|
- `library_id` (string, required): Library UUID to search within
|
|
- `language` (string, required): Language name/code to search for (fuzzy match)
|
|
- `limit` (integer, optional): Maximum results to return (default: 50)
|
|
|
|
**How It Works:**
|
|
- Returns distinct language names from the library
|
|
- Fuzzy matches the search query against language names
|
|
- Includes count of books per language
|
|
- Includes similarity score (0-1, higher = better match)
|
|
- Sorted by similarity score, then by count
|
|
|
|
**Use Case:**
|
|
- Populate autocomplete dropdown when user types in language filter field
|
|
- Show user available languages with book counts
|
|
- Help users discover similar language codes/names
|
|
|
|
**Response:** HTTP 200 (OK)
|
|
```json
|
|
{
|
|
"results": [
|
|
{
|
|
"value": "English",
|
|
"count": 1245,
|
|
"score": 0.9
|
|
},
|
|
{
|
|
"value": "eng",
|
|
"count": 856,
|
|
"score": 0.85
|
|
}
|
|
],
|
|
"total": 2
|
|
}
|
|
```
|
|
|
|
**Examples:**
|
|
- `language=eng` → Returns "English" (1245 books), "eng" (856 books)
|
|
- `language=fre` → Returns "French" (234 books), "fre" (123 books)
|
|
- `language=german` → Returns "German" (189 books), "deutsch" (45 books)
|
|
|
|
**Frontend Integration:**
|
|
- Call this endpoint when user types ≥2 characters in language field
|
|
- Display results in `<datalist>` or custom dropdown
|
|
- Show: "Language Name (count)" format
|
|
- Allow user to select from suggestions
|
|
|
|
**Success Criteria:**
|
|
- Status: 200
|
|
- Returns array of language values with counts
|
|
- Results sorted by relevance (similarity score)
|
|
- Only returns languages matching the fuzzy search
|