From eaa7f7c7e95440e80296cf457baf393a3e6fde02 Mon Sep 17 00:00:00 2001 From: Deluan Date: Mon, 5 Aug 2024 18:21:21 -0400 Subject: [PATCH] Fix Player filter --- persistence/genre_repository.go | 2 +- persistence/player_repository.go | 2 +- persistence/radio_repository.go | 2 +- persistence/sql_restful.go | 6 ++++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/persistence/genre_repository.go b/persistence/genre_repository.go index 11a5cef10..357a8b4d9 100644 --- a/persistence/genre_repository.go +++ b/persistence/genre_repository.go @@ -23,7 +23,7 @@ func NewGenreRepository(ctx context.Context, db dbx.Builder) model.GenreReposito r.db = db r.tableName = "genre" r.filterMappings = map[string]filterFunc{ - "name": containsFilter, + "name": containsFilter("name"), } return r } diff --git a/persistence/player_repository.go b/persistence/player_repository.go index 80110491f..d51613605 100644 --- a/persistence/player_repository.go +++ b/persistence/player_repository.go @@ -21,7 +21,7 @@ func NewPlayerRepository(ctx context.Context, db dbx.Builder) model.PlayerReposi r.db = db r.tableName = "player" r.filterMappings = map[string]filterFunc{ - "name": containsFilter, + "name": containsFilter("player.name"), } return r } diff --git a/persistence/radio_repository.go b/persistence/radio_repository.go index 19a6474bf..636fd891d 100644 --- a/persistence/radio_repository.go +++ b/persistence/radio_repository.go @@ -24,7 +24,7 @@ func NewRadioRepository(ctx context.Context, db dbx.Builder) model.RadioReposito r.db = db r.tableName = "radio" r.filterMappings = map[string]filterFunc{ - "name": containsFilter, + "name": containsFilter("name"), } r.sortMappings = map[string]string{ "name": "(name collate nocase), name", diff --git a/persistence/sql_restful.go b/persistence/sql_restful.go index cf83c1421..b802a750d 100644 --- a/persistence/sql_restful.go +++ b/persistence/sql_restful.go @@ -59,8 +59,10 @@ func startsWithFilter(field string, value interface{}) Sqlizer { return Like{field: fmt.Sprintf("%s%%", value)} } -func containsFilter(field string, value interface{}) Sqlizer { - return Like{field: fmt.Sprintf("%%%s%%", value)} +func containsFilter(field string) func(string, any) Sqlizer { + return func(_ string, value any) Sqlizer { + return Like{field: fmt.Sprintf("%%%s%%", value)} + } } func booleanFilter(field string, value interface{}) Sqlizer {