Spaces:
Build error
Build error
File size: 1,766 Bytes
d9494a5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import { isDefined } from 'twenty-shared/utils';
import { workspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/factories/factories';
import { type WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type';
import { getResolverName } from 'src/engine/utils/get-resolver-name.util';
export type ResolverNameMapEntry = {
objectMetadataUniversalIdentifier: string;
method: WorkspaceResolverBuilderMethodNames;
operationType: 'query' | 'mutation';
};
export const buildResolverNameMap = (
flatObjectMetadataMaps: FlatEntityMaps<FlatObjectMetadata>,
): Record<string, ResolverNameMapEntry> => {
const map: Record<string, ResolverNameMapEntry> = {};
const allMethods = [
...workspaceResolverBuilderMethodNames.queries.map((method) => ({
method,
operationType: 'query' as const,
})),
...workspaceResolverBuilderMethodNames.mutations.map((method) => ({
method,
operationType: 'mutation' as const,
})),
];
for (const flatObjectMetadata of Object.values(
flatObjectMetadataMaps.byUniversalIdentifier,
).filter(isDefined)) {
for (const { method, operationType } of allMethods) {
const resolverName = getResolverName(flatObjectMetadata, method);
map[resolverName] = {
objectMetadataUniversalIdentifier:
flatObjectMetadata.universalIdentifier,
method,
operationType,
};
}
}
return map;
};
|