Improve object metadata maps size (#8635)

## Context
The object metadata map is becoming quite large and its structure could
be simplified.
We are removing byNameSingular/byNamePlural keys, the former can be
retrieved through a new helper and the latter is not used in the code
base currently.
This commit is contained in:
Weiko
2024-11-21 11:49:19 +01:00
committed by GitHub
parent 8772f8aac7
commit 24dbabcad7
10 changed files with 130 additions and 29 deletions
@@ -19,6 +19,7 @@ import {
import { FieldMetadataMap } from 'src/engine/metadata-modules/types/field-metadata-map';
import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
import { ObjectMetadataMaps } from 'src/engine/metadata-modules/types/object-metadata-maps';
import { getObjectMetadataMapItemByNameSingular } from 'src/engine/metadata-modules/utils/get-object-metadata-map-item-by-name-singular.util';
export class GraphqlQueryParser {
private fieldMetadataMapByName: FieldMetadataMap;
@@ -108,9 +109,10 @@ export class GraphqlQueryParser {
parentObjectMetadata: ObjectMetadataItemWithFieldMaps,
graphqlSelectedFields: Partial<Record<string, any>>,
): GraphqlQuerySelectedFieldsResult {
const parentFields =
this.objectMetadataMaps.byNameSingular[parentObjectMetadata.nameSingular]
?.fieldsByName;
const parentFields = getObjectMetadataMapItemByNameSingular(
this.objectMetadataMaps,
parentObjectMetadata.nameSingular,
)?.fieldsByName;
if (!parentFields) {
throw new Error(