From c922e6c6f4005bfe452f477fa4dbe8ad8df4825e Mon Sep 17 00:00:00 2001 From: Pacifique Linjanja Date: Thu, 20 Jun 2024 09:16:25 +0200 Subject: [PATCH] fix: update filter adapters for numbers and datetime --- ...turnObjectDropdownFilterIntoQueryFilter.ts | 5 +---- .../factories/query-runner-args.factory.ts | 20 ++++++++++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts index 2cb96efd2bf4..08892a596a6a 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts @@ -147,10 +147,7 @@ const applyEmptyFilters = ( break; case 'DATE_TIME': emptyRecordFilter = { - or: [ - { [correspondingField.name]: { eq: '' } as DateFilter }, - { [correspondingField.name]: { is: 'NULL' } as DateFilter }, - ], + [correspondingField.name]: { is: 'NULL' } as DateFilter, }; break; case 'RELATION': diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index 4a07ee358c5d..f86ac299df9e 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts @@ -199,14 +199,20 @@ export class QueryRunnerArgsFactory { if (!fieldMetadata) { return value; } + switch (fieldMetadata.type) { - case 'NUMBER': - return Object.fromEntries( - Object.entries(value).map(([filterKey, filterValue]) => [ - filterKey, - Number(filterValue), - ]), - ); + case 'NUMBER': { + if (value?.is === 'NULL') { + return value; + } else { + return Object.fromEntries( + Object.entries(value).map(([filterKey, filterValue]) => [ + filterKey, + Number(filterValue), + ]), + ); + } + } default: return value; }