From 07b1bfcafa2347686730d3a9d7e0a2eb601a86e6 Mon Sep 17 00:00:00 2001 From: Melvin Chia Date: Sun, 16 Nov 2025 00:28:28 +0800 Subject: [PATCH] feat(server): enhance filter handling by allowing null values and updating tests for undefined/null elements --- .../functions/database/PBService/typescript/pb_service.ts | 1 + .../PBService/utils/recursivelyConstructFilter.test.ts | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/core/functions/database/PBService/typescript/pb_service.ts b/server/src/core/functions/database/PBService/typescript/pb_service.ts index 1d8a99a7b..da371cc6d 100644 --- a/server/src/core/functions/database/PBService/typescript/pb_service.ts +++ b/server/src/core/functions/database/PBService/typescript/pb_service.ts @@ -73,6 +73,7 @@ type FilterType< filters: FilterType } | undefined + | null > // Helper type for field selection object diff --git a/server/src/core/functions/database/PBService/utils/recursivelyConstructFilter.test.ts b/server/src/core/functions/database/PBService/utils/recursivelyConstructFilter.test.ts index 622a5cc5d..02ab95674 100644 --- a/server/src/core/functions/database/PBService/utils/recursivelyConstructFilter.test.ts +++ b/server/src/core/functions/database/PBService/utils/recursivelyConstructFilter.test.ts @@ -30,6 +30,7 @@ type MockFilter = filters: MockFilter[] } | undefined + | null // Helper function to create filter with proper typing // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -359,7 +360,7 @@ describe('recursivelyBuildFilter', () => { expect(result.params).toEqual({}) }) - it('should handle filter array with undefined elements', () => { + it('should handle filter array with undefined and null elements', () => { const filter = createFilter([ undefined, { @@ -367,7 +368,8 @@ describe('recursivelyBuildFilter', () => { operator: '=', value: 'John' }, - undefined + undefined, + null ]) const result = recursivelyBuildFilter(filter)