Files
twenty_crm/packages/twenty-server/test/integration/graphql/utils/create-many-operation-factory.util.ts
Etienne 88a6913217 Connect/Disconnect - Add Disconnect logic + Migration to query builders (insert/update) (#13271)
Context : 
Large PR with 600+ test files. Enable connect and disconnect logic in
createMany (upsert true) / updateOne / updateMany resolvers

- Add disconnect logic
- Gather disconnect and connect logic -> called relation nested queries
- Move logic to query builder (insert and update one) with a preparation
step in .set/.values and an execution step in .execute
- Add integration tests

Test : 
- Test API call on updateMany, updateOne, createMany (upsert:true) with
connect/disconnect
2025-07-24 17:04:38 +02:00

31 lines
772 B
TypeScript

import gql from 'graphql-tag';
import { capitalize } from 'twenty-shared/utils';
type CreateManyOperationFactoryParams = {
objectMetadataSingularName: string;
objectMetadataPluralName: string;
gqlFields: string;
data?: object;
upsert?: boolean;
};
export const createManyOperationFactory = ({
objectMetadataSingularName,
objectMetadataPluralName,
gqlFields,
data = {},
upsert = false,
}: CreateManyOperationFactoryParams) => ({
query: gql`
mutation Create${capitalize(objectMetadataSingularName)}($data: [${capitalize(objectMetadataSingularName)}CreateInput!]!, $upsert: Boolean) {
create${capitalize(objectMetadataPluralName)}(data: $data, upsert: $upsert) {
${gqlFields}
}
}
`,
variables: {
data,
upsert,
},
});