diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index 728d77ae3..4a07ee358 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts @@ -13,6 +13,7 @@ import { import { RecordFilter } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { hasPositionField } from 'src/engine/metadata-modules/object-metadata/utils/has-position-field.util'; import { RecordPositionFactory } from './record-position.factory'; @@ -39,6 +40,8 @@ export class QueryRunnerArgsFactory { ]), ); + const shouldBackfillPosition = hasPositionField(options.objectMetadataItem); + switch (resolverArgsType) { case ResolverArgsType.CreateMany: return { @@ -47,7 +50,7 @@ export class QueryRunnerArgsFactory { (args as CreateManyResolverArgs).data.map((arg, index) => this.overrideDataByFieldMetadata(arg, options, fieldMetadataMap, { argIndex: index, - shouldBackfillPosition: true, + shouldBackfillPosition, }), ), ), diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/has-position-field.util.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/has-position-field.util.ts new file mode 100644 index 000000000..a357da4c3 --- /dev/null +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/has-position-field.util.ts @@ -0,0 +1,6 @@ +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; + +export const hasPositionField = (objectMetadataItem: ObjectMetadataInterface) => + ['opportunity', 'person', 'company'].includes( + objectMetadataItem.nameSingular, + ) || objectMetadataItem.isCustom;