feat: add tags filter and autocomplete endpoints

- Extract tags_filter query parameter in handler
- Add tags autocomplete route handler
- Add tags case to field values search endpoint
- Keep genre_filter for backward compatibility

Provides HTTP endpoints for filtering by tags and getting autocomplete
suggestions for tag values.

Relates to IMPLEMENTATION_TAGS_FILTER.md Phase 3
This commit is contained in:
2026-03-25 20:38:14 -04:00
parent bb8b4f9f63
commit b16ee343f8
+5
View File
@@ -1372,6 +1372,9 @@ func (mh *MediaHandler) SearchMediaItems(c *echo.Context) error {
if genre := c.QueryParam("genre"); genre != "" {
return mh.handleFieldValuesSearch(c, userID.ID, "genre", genre)
}
if tags := c.QueryParam("tags"); tags != "" {
return mh.handleFieldValuesSearch(c, userID.ID, "tags", tags)
}
if series := c.QueryParam("series"); series != "" {
return mh.handleFieldValuesSearch(c, userID.ID, "series", series)
}
@@ -1411,6 +1414,7 @@ func (mh *MediaHandler) SearchMediaItems(c *echo.Context) error {
authorFilter := c.QueryParam("author_filter")
seriesFilter := c.QueryParam("series_filter")
genreFilter := c.QueryParam("genre_filter")
tagsFilter := c.QueryParam("tags_filter")
languageFilter := c.QueryParam("language_filter")
yearMin, _ := strconv.Atoi(c.QueryParam("year_min"))
yearMax, _ := strconv.Atoi(c.QueryParam("year_max"))
@@ -1430,6 +1434,7 @@ func (mh *MediaHandler) SearchMediaItems(c *echo.Context) error {
AuthorFilter: authorFilter,
SeriesFilter: seriesFilter,
GenreFilter: genreFilter,
TagsFilter: tagsFilter,
LanguageFilter: languageFilter,
YearMin: yearMin,
YearMax: yearMax,