Files
bookhoard/bruno/media-items/Field Values Search - Genres.yml
T
john-okeefe dc0d037e06 test: update Bruno requests for tags filter
- Update Combined Search and Filters to use tags_filter
- Update Field Values Search to cover tags autocomplete
- Add fuzzy matching examples for tags
- Update search scenarios to use tags instead of genre

Updates the Bruno API test collection to use the new tags filter
instead of the genre filter, including fuzzy matching examples.

Relates to IMPLEMENTATION_TAGS_FILTER.md Phase 6
2026-03-25 20:38:29 -04:00

90 lines
2.3 KiB
YAML

info:
name: Field Values Search - Genres
type: http
seq: 7
http:
method: GET
url: "{{base_url}}/api/media-items/search?library_id={{library_id}}&tags=sci&limit=50"
params:
- name: library_id
value: "{{library_id}}"
type: query
- name: tags
value: sci
type: query
- name: limit
value: "50"
type: query
auth: inherit
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
## Field Values Search - Genres
Fetches distinct tags 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
- `tags` (string, required): Genre name to search for (fuzzy match)
- `limit` (integer, optional): Maximum results to return (default: 50)
**How It Works:**
- Returns distinct tags names from the library
- Fuzzy matches the search query against tags names
- Includes count of books per tags
- Includes similarity score (0-1, higher = better match)
- Sorted by similarity score, then by count
**Use Case:**
- Populate autocomplete dropdown when user types in tags filter field
- Show user available tagss with book counts
- Help users discover similar tags names
**Response:** HTTP 200 (OK)
```json
{
"results": [
{
"value": "Sci-Fi",
"count": 234,
"score": 0.85
},
{
"value": "Science Fiction",
"count": 156,
"score": 0.82
}
],
"total": 2
}
```
**Examples:**
- `tags=sci` → Returns "Sci-Fi" (234 books), "Science Fiction" (156 books)
- `tags=fant` → Returns "Fantasy" (345 books), "High Fantasy" (89 books)
- `tags=mystery` → Returns "Mystery" (123 books), "Mystery/Thriller" (45 books)
**Frontend Integration:**
- Call this endpoint when user types ≥2 characters in tags field
- Display results in `<datalist>` or custom dropdown
- Show: "Genre Name (count)" format
- Allow user to select from suggestions
**Success Criteria:**
- Status: 200
- Returns array of tags values with counts
- Results sorted by relevance (similarity score)
- Only returns tagss matching the fuzzy search