From 1e8d28ff46239bba3e5ba38881d31a8d40f4af79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deluan=20Quint=C3=A3o?= Date: Thu, 6 Nov 2025 14:54:01 -0500 Subject: [PATCH] fix: qualify user id filter to avoid ambiguous column (#4511) --- persistence/user_repository.go | 1 + persistence/user_repository_test.go | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/persistence/user_repository.go b/persistence/user_repository.go index a7181b1a..7baa8f6a 100644 --- a/persistence/user_repository.go +++ b/persistence/user_repository.go @@ -57,6 +57,7 @@ func NewUserRepository(ctx context.Context, db dbx.Builder) model.UserRepository r.db = db r.tableName = "user" r.registerModel(&model.User{}, map[string]filterFunc{ + "id": idFilter(r.tableName), "password": invalidFilter(ctx), "name": r.withTableName(startsWithFilter), }) diff --git a/persistence/user_repository_test.go b/persistence/user_repository_test.go index 7c0707ec..8abbf76a 100644 --- a/persistence/user_repository_test.go +++ b/persistence/user_repository_test.go @@ -559,4 +559,15 @@ var _ = Describe("UserRepository", func() { Expect(user.Libraries[0].ID).To(Equal(1)) }) }) + + Describe("filters", func() { + It("qualifies id filter with table name", func() { + r := repo.(*userRepository) + qo := r.parseRestOptions(r.ctx, rest.QueryOptions{Filters: map[string]any{"id": "123"}}) + sel := r.selectUserWithLibraries(qo) + query, _, err := r.toSQL(sel) + Expect(err).NotTo(HaveOccurred()) + Expect(query).To(ContainSubstring("user.id = {:p0}")) + }) + }) })