"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createQueryOperations = createQueryOperations;
const query_builder_1 = require("../query-builder");
const input_types_1 = require("../input-types");
function createQueryOperations(client) {
    return {
        revParse: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'RevParse',
            fieldName: 'revParse',
            ...(0, query_builder_1.buildCustomDocument)('query', 'RevParse', 'revParse', options?.select, args, [
                {
                    name: 'dbId',
                    type: 'UUID',
                },
                {
                    name: 'storeId',
                    type: 'UUID',
                },
                {
                    name: 'refname',
                    type: 'String',
                },
            ], input_types_1.connectionFieldsMap, undefined),
        }),
        getAllObjectsFromRoot: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'GetAllObjectsFromRoot',
            fieldName: 'getAllObjectsFromRoot',
            ...(0, query_builder_1.buildCustomDocument)('query', 'GetAllObjectsFromRoot', 'getAllObjectsFromRoot', options?.select, args, [
                {
                    name: 'databaseId',
                    type: 'UUID',
                },
                {
                    name: 'id',
                    type: 'UUID',
                },
                {
                    name: 'first',
                    type: 'Int',
                },
                {
                    name: 'offset',
                    type: 'Int',
                },
                {
                    name: 'after',
                    type: 'Cursor',
                },
            ], input_types_1.connectionFieldsMap, undefined),
        }),
        getPathObjectsFromRoot: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'GetPathObjectsFromRoot',
            fieldName: 'getPathObjectsFromRoot',
            ...(0, query_builder_1.buildCustomDocument)('query', 'GetPathObjectsFromRoot', 'getPathObjectsFromRoot', options?.select, args, [
                {
                    name: 'databaseId',
                    type: 'UUID',
                },
                {
                    name: 'id',
                    type: 'UUID',
                },
                {
                    name: 'path',
                    type: '[String]',
                },
                {
                    name: 'first',
                    type: 'Int',
                },
                {
                    name: 'offset',
                    type: 'Int',
                },
                {
                    name: 'after',
                    type: 'Cursor',
                },
            ], input_types_1.connectionFieldsMap, undefined),
        }),
        getObjectAtPath: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'GetObjectAtPath',
            fieldName: 'getObjectAtPath',
            ...(0, query_builder_1.buildCustomDocument)('query', 'GetObjectAtPath', 'getObjectAtPath', options.select, args, [
                {
                    name: 'dbId',
                    type: 'UUID',
                },
                {
                    name: 'storeId',
                    type: 'UUID',
                },
                {
                    name: 'path',
                    type: '[String]',
                },
                {
                    name: 'refname',
                    type: 'String',
                },
            ], input_types_1.connectionFieldsMap, 'Object'),
        }),
    };
}
