From b8355e72089ecfac9202913a7d5b2ffb079247cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Fri, 20 Feb 2026 12:09:38 +0100 Subject: [PATCH] empty should match everything MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .../request/applyPredicateEntityFilterToQuery.test.ts | 10 ++++++++-- .../request/applyPredicateEntityFilterToQuery.ts | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.test.ts b/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.test.ts index 21e5d2c37a..70d5461c3a 100644 --- a/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.test.ts +++ b/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.test.ts @@ -150,8 +150,14 @@ describe.each(databases.eachSupportedId())( ).resolves.toEqual(['service-a', 'service-b']); }); - it('returns nothing for empty $all', async () => { - await expect(query({ $all: [] })).resolves.toEqual([]); + it('matches everything for empty $all', async () => { + await expect(query({ $all: [] })).resolves.toEqual([ + 'api-d', + 'bare-e', + 'service-a', + 'service-b', + 'website-c', + ]); }); it('filters with $any', async () => { diff --git a/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.ts b/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.ts index 5deb97019c..2a404b88bf 100644 --- a/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.ts +++ b/plugins/catalog-backend/src/service/request/applyPredicateEntityFilterToQuery.ts @@ -105,7 +105,7 @@ export function applyPredicateEntityFilterToQuery(options: { if ('$all' in filter) { if (filter.$all.length === 0) { - return targetQuery.andWhereRaw('1 = 0'); + return targetQuery; } return targetQuery.andWhere(outer => { for (const subFilter of filter.$all) {