import { QueryBuilder, buildCustomDocument } from '../query-builder';
import { connectionFieldsMap } from '../input-types';
export function createQueryOperations(client) {
    return {
        currentIpAddress: (options) => new QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentIpAddress',
            fieldName: 'currentIpAddress',
            ...buildCustomDocument('query', 'CurrentIpAddress', 'currentIpAddress', options?.select, undefined, [], connectionFieldsMap, undefined),
        }),
        currentUser: (options) => new QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentUser',
            fieldName: 'currentUser',
            ...buildCustomDocument('query', 'CurrentUser', 'currentUser', options.select, undefined, [], connectionFieldsMap, 'User'),
        }),
        currentUserAgent: (options) => new QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentUserAgent',
            fieldName: 'currentUserAgent',
            ...buildCustomDocument('query', 'CurrentUserAgent', 'currentUserAgent', options?.select, undefined, [], connectionFieldsMap, undefined),
        }),
        currentUserId: (options) => new QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentUserId',
            fieldName: 'currentUserId',
            ...buildCustomDocument('query', 'CurrentUserId', 'currentUserId', options?.select, undefined, [], connectionFieldsMap, undefined),
        }),
        requireStepUp: (args, options) => new QueryBuilder({
            client,
            operation: 'query',
            operationName: 'RequireStepUp',
            fieldName: 'requireStepUp',
            ...buildCustomDocument('query', 'RequireStepUp', 'requireStepUp', options?.select, args, [
                {
                    name: 'stepUpType',
                    type: 'String',
                },
            ], connectionFieldsMap, undefined),
        }),
    };
}
