/* tslint:disable */
/* eslint-disable */
/**
 * Constructor-database service
 * Сервис Constructor-database
 *
 * The version of the OpenAPI document: 1.0.1
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import { Configuration } from './configuration';
import globalAxios, { AxiosPromise, AxiosInstance } from 'axios';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';

/**
 * 
 * @export
 * @interface ConstructorMzMockResponse
 */
export interface ConstructorMzMockResponse {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ConstructorMzMockResponse
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ConstructorMzMockResponse
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ConstructorMzMockResponse
     */
    schema?: string;
    /**
     * 
     * @type {string}
     * @memberof ConstructorMzMockResponse
     */
    clazz?: string;
    /**
     * 
     * @type {string}
     * @memberof ConstructorMzMockResponse
     */
    code?: string;
    /**
     * 
     * @type {string}
     * @memberof ConstructorMzMockResponse
     */
    responseMsg?: string;
}
/**
 * 
 * @export
 * @interface ConstructorMzMockResponseAllOf
 */
export interface ConstructorMzMockResponseAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ConstructorMzMockResponseAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ConstructorMzMockResponseAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ConstructorMzMockResponseAllOf
     */
    schema?: string;
    /**
     * 
     * @type {string}
     * @memberof ConstructorMzMockResponseAllOf
     */
    clazz?: string;
    /**
     * 
     * @type {string}
     * @memberof ConstructorMzMockResponseAllOf
     */
    code?: string;
    /**
     * 
     * @type {string}
     * @memberof ConstructorMzMockResponseAllOf
     */
    responseMsg?: string;
}
/**
 * 
 * @export
 * @interface ConstructorPetition
 */
export interface ConstructorPetition {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ConstructorPetition
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ConstructorPetition
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ConstructorPetition
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface ConstructorPetitionAllOf
 */
export interface ConstructorPetitionAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ConstructorPetitionAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ConstructorPetitionAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ConstructorPetitionAllOf
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface Document
 */
export interface Document {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Document
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Document
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Document
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface MapResponse
 */
export interface MapResponse {
    /**
     * Отношение ключ-значение
     * @type {string}
     * @memberof MapResponse
     */
    key: string;
}
/**
 * 
 * @export
 * @interface PageOfConstructorPetition
 */
export interface PageOfConstructorPetition {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfConstructorPetition
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfConstructorPetition
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfConstructorPetition
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfConstructorPetition
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfConstructorPetition
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfConstructorPetition
     */
    perPage: number;
    /**
     * 
     * @type {Array<ConstructorPetition>}
     * @memberof PageOfConstructorPetition
     */
    records: Array<ConstructorPetition>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfConstructorPetition
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfConstructorPetition
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfConstructorPetition
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface Response
 */
export interface Response {
    /**
     * true в случае успешной операции, false в противном
     * @type {boolean}
     * @memberof Response
     */
    success: boolean;
    /**
     * Сообщение об ошибке или об успехе
     * @type {string}
     * @memberof Response
     */
    message: string;
  
    objectIds: string[];
}

/**
 * ConstructorMzMockResponseApi - axios parameter creator
 * @export
 */
export const ConstructorMzMockResponseApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createConstructorMzMockResponse: async (constructorMzMockResponse: Array<ConstructorMzMockResponse>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'constructorMzMockResponse' is not null or undefined
            assertParamExists('createConstructorMzMockResponse', 'constructorMzMockResponse', constructorMzMockResponse)
            const localVarPath = `/mock-response`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(constructorMzMockResponse, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchConstructorMzMockResponse: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/mock-response`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateConstructorMzMockResponse: async (constructorMzMockResponse: Array<ConstructorMzMockResponse>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'constructorMzMockResponse' is not null or undefined
            assertParamExists('updateConstructorMzMockResponse', 'constructorMzMockResponse', constructorMzMockResponse)
            const localVarPath = `/mock-response`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(constructorMzMockResponse, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ConstructorMzMockResponseApi - functional programming interface
 * @export
 */
export const ConstructorMzMockResponseApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ConstructorMzMockResponseApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createConstructorMzMockResponse(constructorMzMockResponse: Array<ConstructorMzMockResponse>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createConstructorMzMockResponse(constructorMzMockResponse, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchConstructorMzMockResponse(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ConstructorMzMockResponse>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchConstructorMzMockResponse(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateConstructorMzMockResponse(constructorMzMockResponse: Array<ConstructorMzMockResponse>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateConstructorMzMockResponse(constructorMzMockResponse, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ConstructorMzMockResponseApi - factory interface
 * @export
 */
export const ConstructorMzMockResponseApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ConstructorMzMockResponseApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createConstructorMzMockResponse(constructorMzMockResponse: Array<ConstructorMzMockResponse>, options?: any): AxiosPromise<Response> {
            return localVarFp.createConstructorMzMockResponse(constructorMzMockResponse, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchConstructorMzMockResponse(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ConstructorMzMockResponse>> {
            return localVarFp.searchConstructorMzMockResponse(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateConstructorMzMockResponse(constructorMzMockResponse: Array<ConstructorMzMockResponse>, options?: any): AxiosPromise<Response> {
            return localVarFp.updateConstructorMzMockResponse(constructorMzMockResponse, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ConstructorMzMockResponseApi - object-oriented interface
 * @export
 * @class ConstructorMzMockResponseApi
 * @extends {BaseAPI}
 */
export class ConstructorMzMockResponseApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorMzMockResponseApi
     */
    public createConstructorMzMockResponse(constructorMzMockResponse: Array<ConstructorMzMockResponse>, options?: any) {
        return ConstructorMzMockResponseApiFp(this.configuration).createConstructorMzMockResponse(constructorMzMockResponse, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorMzMockResponseApi
     */
    public searchConstructorMzMockResponse(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ConstructorMzMockResponseApiFp(this.configuration).searchConstructorMzMockResponse(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<ConstructorMzMockResponse>} constructorMzMockResponse Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorMzMockResponseApi
     */
    public updateConstructorMzMockResponse(constructorMzMockResponse: Array<ConstructorMzMockResponse>, options?: any) {
        return ConstructorMzMockResponseApiFp(this.configuration).updateConstructorMzMockResponse(constructorMzMockResponse, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ConstructorPetitionApi - axios parameter creator
 * @export
 */
export const ConstructorPetitionApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ConstructorPetition>} constructorPetition Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createConstructorPetition: async (constructorPetition: Array<ConstructorPetition>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'constructorPetition' is not null or undefined
            assertParamExists('createConstructorPetition', 'constructorPetition', constructorPetition)
            const localVarPath = `/petition`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(constructorPetition, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteConstructorPetition: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteConstructorPetition', 'requestBody', requestBody)
            const localVarPath = `/petition`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает найденный ConstructorPetition
         * @summary Возвращает ConstructorPetition
         * @param {string} traceId TraceId искомой услуги
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getConstructorPetitionByTraceId: async (traceId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'traceId' is not null or undefined
            assertParamExists('getConstructorPetitionByTraceId', 'traceId', traceId)
            const localVarPath = `/document/Applications/{traceId}`
                .replace(`{${"traceId"}}`, encodeURIComponent(String(traceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {'my' | 'managed'} [handler] Тип handler который надо активировать
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingConstructorPetition: async (handler?: 'my' | 'managed', page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/petition`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (handler !== undefined) {
                localVarQueryParameter['handler'] = handler;
            }

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchConstructorPetition: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/petition/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ConstructorPetition>} constructorPetition Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateConstructorPetition: async (constructorPetition: Array<ConstructorPetition>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'constructorPetition' is not null or undefined
            assertParamExists('updateConstructorPetition', 'constructorPetition', constructorPetition)
            const localVarPath = `/petition`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(constructorPetition, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ConstructorPetitionApi - functional programming interface
 * @export
 */
export const ConstructorPetitionApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ConstructorPetitionApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ConstructorPetition>} constructorPetition Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createConstructorPetition(constructorPetition: Array<ConstructorPetition>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createConstructorPetition(constructorPetition, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteConstructorPetition(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteConstructorPetition(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает найденный ConstructorPetition
         * @summary Возвращает ConstructorPetition
         * @param {string} traceId TraceId искомой услуги
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getConstructorPetitionByTraceId(traceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MapResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getConstructorPetitionByTraceId(traceId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {'my' | 'managed'} [handler] Тип handler который надо активировать
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingConstructorPetition(handler?: 'my' | 'managed', page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfConstructorPetition>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingConstructorPetition(handler, page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchConstructorPetition(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ConstructorPetition>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchConstructorPetition(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ConstructorPetition>} constructorPetition Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateConstructorPetition(constructorPetition: Array<ConstructorPetition>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateConstructorPetition(constructorPetition, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ConstructorPetitionApi - factory interface
 * @export
 */
export const ConstructorPetitionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ConstructorPetitionApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ConstructorPetition>} constructorPetition Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createConstructorPetition(constructorPetition: Array<ConstructorPetition>, options?: any): AxiosPromise<Response> {
            return localVarFp.createConstructorPetition(constructorPetition, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteConstructorPetition(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteConstructorPetition(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает найденный ConstructorPetition
         * @summary Возвращает ConstructorPetition
         * @param {string} traceId TraceId искомой услуги
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getConstructorPetitionByTraceId(traceId: string, options?: any): AxiosPromise<MapResponse> {
            return localVarFp.getConstructorPetitionByTraceId(traceId, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {'my' | 'managed'} [handler] Тип handler который надо активировать
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingConstructorPetition(handler?: 'my' | 'managed', page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfConstructorPetition> {
            return localVarFp.pagingConstructorPetition(handler, page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchConstructorPetition(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ConstructorPetition>> {
            return localVarFp.searchConstructorPetition(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ConstructorPetition>} constructorPetition Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateConstructorPetition(constructorPetition: Array<ConstructorPetition>, options?: any): AxiosPromise<Response> {
            return localVarFp.updateConstructorPetition(constructorPetition, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ConstructorPetitionApi - object-oriented interface
 * @export
 * @class ConstructorPetitionApi
 * @extends {BaseAPI}
 */
export class ConstructorPetitionApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<ConstructorPetition>} constructorPetition Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorPetitionApi
     */
    public createConstructorPetition(constructorPetition: Array<ConstructorPetition>, options?: any) {
        return ConstructorPetitionApiFp(this.configuration).createConstructorPetition(constructorPetition, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorPetitionApi
     */
    public deleteConstructorPetition(requestBody: Array<string>, options?: any) {
        return ConstructorPetitionApiFp(this.configuration).deleteConstructorPetition(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает найденный ConstructorPetition
     * @summary Возвращает ConstructorPetition
     * @param {string} traceId TraceId искомой услуги
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorPetitionApi
     */
    public getConstructorPetitionByTraceId(traceId: string, options?: any) {
        return ConstructorPetitionApiFp(this.configuration).getConstructorPetitionByTraceId(traceId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {'my' | 'managed'} [handler] Тип handler который надо активировать
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorPetitionApi
     */
    public pagingConstructorPetition(handler?: 'my' | 'managed', page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ConstructorPetitionApiFp(this.configuration).pagingConstructorPetition(handler, page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorPetitionApi
     */
    public searchConstructorPetition(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ConstructorPetitionApiFp(this.configuration).searchConstructorPetition(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<ConstructorPetition>} constructorPetition Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ConstructorPetitionApi
     */
    public updateConstructorPetition(constructorPetition: Array<ConstructorPetition>, options?: any) {
        return ConstructorPetitionApiFp(this.configuration).updateConstructorPetition(constructorPetition, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DecisionDataApi - axios parameter creator
 * @export
 */
export const DecisionDataApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Возвращает decision data услуги
         * @summary Возвращает decision data услуги
         * @param {string} key Услуга для которой получаем decision data
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDecisionData: async (key: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'key' is not null or undefined
            assertParamExists('getDecisionData', 'key', key)
            const localVarPath = `/decision-data`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (key !== undefined) {
                localVarQueryParameter['key'] = key;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * DecisionDataApi - functional programming interface
 * @export
 */
export const DecisionDataApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DecisionDataApiAxiosParamCreator(configuration)
    return {
        /**
         * Возвращает decision data услуги
         * @summary Возвращает decision data услуги
         * @param {string} key Услуга для которой получаем decision data
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDecisionData(key: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MapResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDecisionData(key, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DecisionDataApi - factory interface
 * @export
 */
export const DecisionDataApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DecisionDataApiFp(configuration)
    return {
        /**
         * Возвращает decision data услуги
         * @summary Возвращает decision data услуги
         * @param {string} key Услуга для которой получаем decision data
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDecisionData(key: string, options?: any): AxiosPromise<MapResponse> {
            return localVarFp.getDecisionData(key, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DecisionDataApi - object-oriented interface
 * @export
 * @class DecisionDataApi
 * @extends {BaseAPI}
 */
export class DecisionDataApi extends BaseAPI {
    /**
     * Возвращает decision data услуги
     * @summary Возвращает decision data услуги
     * @param {string} key Услуга для которой получаем decision data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DecisionDataApi
     */
    public getDecisionData(key: string, options?: any) {
        return DecisionDataApiFp(this.configuration).getDecisionData(key, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * PetitionSchemaApi - axios parameter creator
 * @export
 */
export const PetitionSchemaApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Возвращает лист документов для сервисметы для импорта
         * @summary Возвращает лист документов
         * @param {string} serviceName Имя услуги
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocuments: async (serviceName: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceName' is not null or undefined
            assertParamExists('getDocuments', 'serviceName', serviceName)
            const localVarPath = `/schema/doc`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (serviceName !== undefined) {
                localVarQueryParameter['serviceName'] = serviceName;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает отфильтрованные услуги
         * @summary Отфильтрованные услуги
         * @param {string} filterName Условие фильтрации
         * @param {string} filterValue Значение фильтра
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFilteredServices: async (filterName: string, filterValue: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'filterName' is not null or undefined
            assertParamExists('getFilteredServices', 'filterName', filterName)
            // verify required parameter 'filterValue' is not null or undefined
            assertParamExists('getFilteredServices', 'filterValue', filterValue)
            const localVarPath = `/schema/filter`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (filterName !== undefined) {
                localVarQueryParameter['filterName'] = filterName;
            }

            if (filterValue !== undefined) {
                localVarQueryParameter['filterValue'] = filterValue;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает map типов схем услуги
         * @summary Возвращает map услуги
         * @param {string} key Услуга для которой составляется отношение
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSchemaNames: async (key: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'key' is not null or undefined
            assertParamExists('getSchemaNames', 'key', key)
            const localVarPath = `/schema`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (key !== undefined) {
                localVarQueryParameter['key'] = key;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * PetitionSchemaApi - functional programming interface
 * @export
 */
export const PetitionSchemaApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = PetitionSchemaApiAxiosParamCreator(configuration)
    return {
        /**
         * Возвращает лист документов для сервисметы для импорта
         * @summary Возвращает лист документов
         * @param {string} serviceName Имя услуги
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDocuments(serviceName: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDocuments(serviceName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает отфильтрованные услуги
         * @summary Отфильтрованные услуги
         * @param {string} filterName Условие фильтрации
         * @param {string} filterValue Значение фильтра
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getFilteredServices(filterName: string, filterValue: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getFilteredServices(filterName, filterValue, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает map типов схем услуги
         * @summary Возвращает map услуги
         * @param {string} key Услуга для которой составляется отношение
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSchemaNames(key: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MapResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSchemaNames(key, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * PetitionSchemaApi - factory interface
 * @export
 */
export const PetitionSchemaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = PetitionSchemaApiFp(configuration)
    return {
        /**
         * Возвращает лист документов для сервисметы для импорта
         * @summary Возвращает лист документов
         * @param {string} serviceName Имя услуги
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocuments(serviceName: string, options?: any): AxiosPromise<string> {
            return localVarFp.getDocuments(serviceName, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает отфильтрованные услуги
         * @summary Отфильтрованные услуги
         * @param {string} filterName Условие фильтрации
         * @param {string} filterValue Значение фильтра
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFilteredServices(filterName: string, filterValue: string, options?: any): AxiosPromise<string> {
            return localVarFp.getFilteredServices(filterName, filterValue, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает map типов схем услуги
         * @summary Возвращает map услуги
         * @param {string} key Услуга для которой составляется отношение
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSchemaNames(key: string, options?: any): AxiosPromise<MapResponse> {
            return localVarFp.getSchemaNames(key, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * PetitionSchemaApi - object-oriented interface
 * @export
 * @class PetitionSchemaApi
 * @extends {BaseAPI}
 */
export class PetitionSchemaApi extends BaseAPI {
    /**
     * Возвращает лист документов для сервисметы для импорта
     * @summary Возвращает лист документов
     * @param {string} serviceName Имя услуги
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PetitionSchemaApi
     */
    public getDocuments(serviceName: string, options?: any) {
        return PetitionSchemaApiFp(this.configuration).getDocuments(serviceName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает отфильтрованные услуги
     * @summary Отфильтрованные услуги
     * @param {string} filterName Условие фильтрации
     * @param {string} filterValue Значение фильтра
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PetitionSchemaApi
     */
    public getFilteredServices(filterName: string, filterValue: string, options?: any) {
        return PetitionSchemaApiFp(this.configuration).getFilteredServices(filterName, filterValue, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает map типов схем услуги
     * @summary Возвращает map услуги
     * @param {string} key Услуга для которой составляется отношение
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PetitionSchemaApi
     */
    public getSchemaNames(key: string, options?: any) {
        return PetitionSchemaApiFp(this.configuration).getSchemaNames(key, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * WorkflowMockApi - axios parameter creator
 * @export
 */
export const WorkflowMockApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Обходим сохранение Applications в общую базу при импорте
         * @param {{ [key: string]: object; }} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        workflowServiceMockApplications: async (requestBody: { [key: string]: object; }, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('workflowServiceMockApplications', 'requestBody', requestBody)
            const localVarPath = `/document/Applications`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Обходим сохранение Documents в общую базу при импорте
         * @param {{ [key: string]: object; }} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        workflowServiceMockAttachedDocuments: async (requestBody: { [key: string]: object; }, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('workflowServiceMockAttachedDocuments', 'requestBody', requestBody)
            const localVarPath = `/document/AttachedDocuments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * WorkflowMockApi - functional programming interface
 * @export
 */
export const WorkflowMockApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = WorkflowMockApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Обходим сохранение Applications в общую базу при импорте
         * @param {{ [key: string]: object; }} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async workflowServiceMockApplications(requestBody: { [key: string]: object; }, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.workflowServiceMockApplications(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Обходим сохранение Documents в общую базу при импорте
         * @param {{ [key: string]: object; }} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async workflowServiceMockAttachedDocuments(requestBody: { [key: string]: object; }, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.workflowServiceMockAttachedDocuments(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * WorkflowMockApi - factory interface
 * @export
 */
export const WorkflowMockApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = WorkflowMockApiFp(configuration)
    return {
        /**
         * 
         * @summary Обходим сохранение Applications в общую базу при импорте
         * @param {{ [key: string]: object; }} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        workflowServiceMockApplications(requestBody: { [key: string]: object; }, options?: any): AxiosPromise<Response> {
            return localVarFp.workflowServiceMockApplications(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Обходим сохранение Documents в общую базу при импорте
         * @param {{ [key: string]: object; }} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        workflowServiceMockAttachedDocuments(requestBody: { [key: string]: object; }, options?: any): AxiosPromise<Response> {
            return localVarFp.workflowServiceMockAttachedDocuments(requestBody, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * WorkflowMockApi - object-oriented interface
 * @export
 * @class WorkflowMockApi
 * @extends {BaseAPI}
 */
export class WorkflowMockApi extends BaseAPI {
    /**
     * 
     * @summary Обходим сохранение Applications в общую базу при импорте
     * @param {{ [key: string]: object; }} requestBody 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowMockApi
     */
    public workflowServiceMockApplications(requestBody: { [key: string]: object; }, options?: any) {
        return WorkflowMockApiFp(this.configuration).workflowServiceMockApplications(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Обходим сохранение Documents в общую базу при импорте
     * @param {{ [key: string]: object; }} requestBody 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowMockApi
     */
    public workflowServiceMockAttachedDocuments(requestBody: { [key: string]: object; }, options?: any) {
        return WorkflowMockApiFp(this.configuration).workflowServiceMockAttachedDocuments(requestBody, options).then((request) => request(this.axios, this.basePath));
    }
}


