diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/__tests__/isRecordMatchingFilter.test.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/__tests__/isRecordMatchingFilter.test.ts index 14f342b251c..0548450571a 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/__tests__/isRecordMatchingFilter.test.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/__tests__/isRecordMatchingFilter.test.ts @@ -122,6 +122,34 @@ describe('isRecordMatchingFilter', () => { ).toBe(false); }); + it('matches a record with a simple equality filter on id', () => { + const companyMockInFilter = { + ...companiesMock[0], + }; + + const companyMockNotInFilter = { + ...companiesMock[1], + }; + + const filter = { id: { eq: companyMockInFilter.id } }; + + expect( + isRecordMatchingFilter({ + record: companyMockInFilter, + filter, + objectMetadataItem: companyMockObjectMetadataItem, + }), + ).toBe(true); + + expect( + isRecordMatchingFilter({ + record: companyMockNotInFilter, + filter, + objectMetadataItem: companyMockObjectMetadataItem, + }), + ).toBe(false); + }); + it('matches a record with a simple equality filter on domainName', () => { const companyMockInFilter = { ...companiesMock[0], diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts index 3db5fe58257..a699d84d738 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts @@ -217,6 +217,13 @@ export const isRecordMatchingFilter = ({ ); if (!isDefined(objectMetadataField)) { + if (filterKey === 'id') { + return isMatchingUUIDFilter({ + uuidFilter: filterValue as UUIDFilter, + value: record.id, + }); + } + throw new Error( 'Field metadata item "' + filterKey +