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
This commit is contained in:
Etienne
2025-07-24 17:04:38 +02:00
committed by GitHub
parent 7bfa003682
commit 88a6913217
20 changed files with 1182 additions and 445 deletions

View File

@ -6,6 +6,7 @@ type CreateManyOperationFactoryParams = {
objectMetadataPluralName: string;
gqlFields: string;
data?: object;
upsert?: boolean;
};
export const createManyOperationFactory = ({
@ -13,15 +14,17 @@ export const createManyOperationFactory = ({
objectMetadataPluralName,
gqlFields,
data = {},
upsert = false,
}: CreateManyOperationFactoryParams) => ({
query: gql`
mutation Create${capitalize(objectMetadataSingularName)}($data: [${capitalize(objectMetadataSingularName)}CreateInput!]!) {
create${capitalize(objectMetadataPluralName)}(data: $data) {
mutation Create${capitalize(objectMetadataSingularName)}($data: [${capitalize(objectMetadataSingularName)}CreateInput!]!, $upsert: Boolean) {
create${capitalize(objectMetadataPluralName)}(data: $data, upsert: $upsert) {
${gqlFields}
}
}
`,
variables: {
data,
upsert,
},
});