import { QueryBuilder, buildCustomDocument } from '../query-builder';
import { connectionFieldsMap } from '../input-types';
export function createMutationOperations(client) {
    return {
        constructBlueprint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ConstructBlueprint',
            fieldName: 'constructBlueprint',
            ...buildCustomDocument('mutation', 'ConstructBlueprint', 'constructBlueprint', options.select, args, [
                {
                    name: 'input',
                    type: 'ConstructBlueprintInput!',
                },
            ], connectionFieldsMap, 'ConstructBlueprintPayload'),
        }),
        copyTemplateToBlueprint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CopyTemplateToBlueprint',
            fieldName: 'copyTemplateToBlueprint',
            ...buildCustomDocument('mutation', 'CopyTemplateToBlueprint', 'copyTemplateToBlueprint', options.select, args, [
                {
                    name: 'input',
                    type: 'CopyTemplateToBlueprintInput!',
                },
            ], connectionFieldsMap, 'CopyTemplateToBlueprintPayload'),
        }),
        provisionBucket: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionBucket',
            fieldName: 'provisionBucket',
            ...buildCustomDocument('mutation', 'ProvisionBucket', 'provisionBucket', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionBucketInput!',
                },
            ], connectionFieldsMap, 'ProvisionBucketPayload'),
        }),
        provisionCheckConstraint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionCheckConstraint',
            fieldName: 'provisionCheckConstraint',
            ...buildCustomDocument('mutation', 'ProvisionCheckConstraint', 'provisionCheckConstraint', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionCheckConstraintInput!',
                },
            ], connectionFieldsMap, 'ProvisionCheckConstraintPayload'),
        }),
        provisionFullTextSearch: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionFullTextSearch',
            fieldName: 'provisionFullTextSearch',
            ...buildCustomDocument('mutation', 'ProvisionFullTextSearch', 'provisionFullTextSearch', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionFullTextSearchInput!',
                },
            ], connectionFieldsMap, 'ProvisionFullTextSearchPayload'),
        }),
        provisionIndex: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionIndex',
            fieldName: 'provisionIndex',
            ...buildCustomDocument('mutation', 'ProvisionIndex', 'provisionIndex', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionIndexInput!',
                },
            ], connectionFieldsMap, 'ProvisionIndexPayload'),
        }),
        provisionRelation: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionRelation',
            fieldName: 'provisionRelation',
            ...buildCustomDocument('mutation', 'ProvisionRelation', 'provisionRelation', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionRelationInput!',
                },
            ], connectionFieldsMap, 'ProvisionRelationPayload'),
        }),
        provisionSpatialRelation: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionSpatialRelation',
            fieldName: 'provisionSpatialRelation',
            ...buildCustomDocument('mutation', 'ProvisionSpatialRelation', 'provisionSpatialRelation', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionSpatialRelationInput!',
                },
            ], connectionFieldsMap, 'ProvisionSpatialRelationPayload'),
        }),
        provisionTable: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionTable',
            fieldName: 'provisionTable',
            ...buildCustomDocument('mutation', 'ProvisionTable', 'provisionTable', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionTableInput!',
                },
            ], connectionFieldsMap, 'ProvisionTablePayload'),
        }),
        provisionUniqueConstraint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionUniqueConstraint',
            fieldName: 'provisionUniqueConstraint',
            ...buildCustomDocument('mutation', 'ProvisionUniqueConstraint', 'provisionUniqueConstraint', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionUniqueConstraintInput!',
                },
            ], connectionFieldsMap, 'ProvisionUniqueConstraintPayload'),
        }),
    };
}
