Steps to test 1. Run metadata migrations 2. Run sync-metadata on your workspace 3. Enable the following feature flags: IS_SEARCH_ENABLED IS_QUERY_RUNNER_TWENTY_ORM_ENABLED IS_WORKSPACE_MIGRATED_FOR_SEARCH 4. Type Cmd + K and search anything
42 lines
1.7 KiB
TypeScript
42 lines
1.7 KiB
TypeScript
import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
|
|
import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface';
|
|
|
|
import { camelCase } from 'src/utils/camel-case';
|
|
import { pascalCase } from 'src/utils/pascal-case';
|
|
|
|
export const getResolverName = (
|
|
objectMetadata: Pick<ObjectMetadataInterface, 'namePlural' | 'nameSingular'>,
|
|
type: WorkspaceResolverBuilderMethodNames,
|
|
) => {
|
|
switch (type) {
|
|
case 'findMany':
|
|
return `${camelCase(objectMetadata.namePlural)}`;
|
|
case 'findOne':
|
|
return `${camelCase(objectMetadata.nameSingular)}`;
|
|
case 'findDuplicates':
|
|
return `${camelCase(objectMetadata.nameSingular)}Duplicates`;
|
|
case 'createMany':
|
|
return `create${pascalCase(objectMetadata.namePlural)}`;
|
|
case 'createOne':
|
|
return `create${pascalCase(objectMetadata.nameSingular)}`;
|
|
case 'updateOne':
|
|
return `update${pascalCase(objectMetadata.nameSingular)}`;
|
|
case 'deleteOne':
|
|
return `delete${pascalCase(objectMetadata.nameSingular)}`;
|
|
case 'destroyOne':
|
|
return `destroy${pascalCase(objectMetadata.nameSingular)}`;
|
|
case 'updateMany':
|
|
return `update${pascalCase(objectMetadata.namePlural)}`;
|
|
case 'restoreMany':
|
|
return `restore${pascalCase(objectMetadata.namePlural)}`;
|
|
case 'deleteMany':
|
|
return `delete${pascalCase(objectMetadata.namePlural)}`;
|
|
case 'destroyMany':
|
|
return `destroy${pascalCase(objectMetadata.namePlural)}`;
|
|
case 'search':
|
|
return `search${pascalCase(objectMetadata.namePlural)}`;
|
|
default:
|
|
throw new Error(`Unknown resolver type: ${type}`);
|
|
}
|
|
};
|