optimize buildFieldMapsFromFlatObjectMetadata usages (#16132)
This newly introduced util can be a bit expensive especially when done recursively. This PR improves that File | Pattern Fixed | Impact -- | -- | -- format-result.util.ts | Recursive array/object processing | N array items → 1 call format-data.util.ts | Recursive array processing | N array items → 1 call process-nested-relations-v2.helper.ts | Duplicate call in call chain | 2 calls → 1 call common-result-getters.service.ts | Per-record processing in array | N records → 1 call compute-relation-connect-query-configs.util.ts | Nested loop (entities × connect fields) | N×M calls → 1 call
This commit is contained in:
+6
-1
@@ -13,6 +13,7 @@ import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-m
|
||||
import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type';
|
||||
import { type WorkspaceDataSource } from 'src/engine/twenty-orm/datasource/workspace.datasource';
|
||||
import { validateOperationIsPermittedOrThrow } from 'src/engine/twenty-orm/repository/permissions.utils';
|
||||
import { getObjectMetadataFromEntityTarget } from 'src/engine/twenty-orm/utils/get-object-metadata-from-entity-target.util';
|
||||
|
||||
import { WorkspaceEntityManager } from './workspace-entity-manager';
|
||||
|
||||
@@ -23,7 +24,7 @@ jest.mock('src/engine/twenty-orm/repository/permissions.utils', () => ({
|
||||
jest.mock(
|
||||
'src/engine/twenty-orm/utils/get-object-metadata-from-entity-target.util',
|
||||
() => ({
|
||||
getObjectMetadataFromEntityTarget: jest.fn().mockReturnValue({}),
|
||||
getObjectMetadataFromEntityTarget: jest.fn(),
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -117,6 +118,10 @@ describe('WorkspaceEntityManager', () => {
|
||||
updatedAt: new Date(),
|
||||
};
|
||||
|
||||
(getObjectMetadataFromEntityTarget as jest.Mock).mockReturnValue(
|
||||
mockFlatObjectMetadata,
|
||||
);
|
||||
|
||||
const mockFlatFieldMetadata: FlatFieldMetadata = {
|
||||
id: 'field-id',
|
||||
type: 'TEXT' as FieldMetadataType,
|
||||
|
||||
Reference in New Issue
Block a user