/* eslint-disable */
/**
 * OpenAPI definition
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import globalAxios from "axios";
// Some imports not used depending on template conditions, we also need prettier-ignore so that the import does not get split and ts-ignore still works
// prettier-ignore
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setSearchParams, toPathString, createRequestFunction } from './common.js';
// Some imports not used depending on template conditions, we also need prettier-ignore so that the import does not get split and ts-ignore still works
// prettier-ignore
// @ts-ignore
import { BASE_PATH, BaseAPI } from './base.js';
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * (EXPERIMENTAL) Computes the requested statistical parameters of a column in a data source.
 * @summary (EXPERIMENTAL) Compute column statistics
 * @param {string} dataSourceId
 * @param {ColumnStatisticsRequest} columnStatisticsRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ColumnStatistics(dataSourceId, columnStatisticsRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("columnStatistics", "dataSourceId", dataSourceId);
    // verify required parameter 'columnStatisticsRequest' is not null or undefined
    assertParamExists("columnStatistics", "columnStatisticsRequest", columnStatisticsRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/computeColumnStatistics`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof columnStatisticsRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(columnStatisticsRequest !== undefined ? columnStatisticsRequest : {})
        : columnStatisticsRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
 * @summary Get a list of schema names of a database
 * @param {string} dataSourceId Data source id
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_GetDataSourceSchemata(dataSourceId, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("getDataSourceSchemata", "dataSourceId", dataSourceId);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/scanSchemata`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns.
 * @summary Scan a database to get a physical data model (PDM)
 * @param {string} dataSourceId Data source id
 * @param {ScanRequest} scanRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ScanDataSource(dataSourceId, scanRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("scanDataSource", "dataSourceId", dataSourceId);
    // verify required parameter 'scanRequest' is not null or undefined
    assertParamExists("scanDataSource", "scanRequest", scanRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/scan`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof scanRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(scanRequest !== undefined ? scanRequest : {})
        : scanRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query
 * @summary Collect metadata about SQL query
 * @param {string} dataSourceId Data source id
 * @param {ScanSqlRequest} scanSqlRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ScanSql(dataSourceId, scanSqlRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("scanSql", "dataSourceId", dataSourceId);
    // verify required parameter 'scanSqlRequest' is not null or undefined
    assertParamExists("scanSql", "scanSqlRequest", scanSqlRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/scanSql`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof scanSqlRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(scanSqlRequest !== undefined ? scanSqlRequest : {})
        : scanSqlRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Test if it is possible to connect to a database using an existing data source definition.
 * @summary Test data source connection by data source id
 * @param {string} dataSourceId Data source id
 * @param {TestRequest} testRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_TestDataSource(dataSourceId, testRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("testDataSource", "dataSourceId", dataSourceId);
    // verify required parameter 'testRequest' is not null or undefined
    assertParamExists("testDataSource", "testRequest", testRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/test`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof testRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(testRequest !== undefined ? testRequest : {})
        : testRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Test if it is possible to connect to a database using a connection provided by the data source definition in the request body.
 * @summary Test connection by data source definition
 * @param {TestDefinitionRequest} testDefinitionRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_TestDataSourceDefinition(testDefinitionRequest, options = {}, configuration) {
    // verify required parameter 'testDefinitionRequest' is not null or undefined
    assertParamExists("testDataSourceDefinition", "testDefinitionRequest", testDefinitionRequest);
    const localVarPath = `/api/v1/actions/dataSource/test`;
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof testDefinitionRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(testDefinitionRequest !== undefined ? testDefinitionRequest : {})
        : testDefinitionRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi Api FP
/**
 * (EXPERIMENTAL) Computes the requested statistical parameters of a column in a data source.
 * @summary (EXPERIMENTAL) Compute column statistics
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiColumnStatisticsRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ColumnStatistics(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ColumnStatistics(requestParameters.dataSourceId, requestParameters.columnStatisticsRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
 * @summary Get a list of schema names of a database
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiGetDataSourceSchemataRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_GetDataSourceSchemata(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_GetDataSourceSchemata(requestParameters.dataSourceId, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns.
 * @summary Scan a database to get a physical data model (PDM)
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiScanDataSourceRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ScanDataSource(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ScanDataSource(requestParameters.dataSourceId, requestParameters.scanRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query
 * @summary Collect metadata about SQL query
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiScanSqlRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ScanSql(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ScanSql(requestParameters.dataSourceId, requestParameters.scanSqlRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Test if it is possible to connect to a database using an existing data source definition.
 * @summary Test data source connection by data source id
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiTestDataSourceRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_TestDataSource(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_TestDataSource(requestParameters.dataSourceId, requestParameters.testRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Test if it is possible to connect to a database using a connection provided by the data source definition in the request body.
 * @summary Test connection by data source definition
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiTestDataSourceDefinitionRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_TestDataSourceDefinition(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_TestDataSourceDefinition(requestParameters.testDefinitionRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * ActionsApi - object-oriented interface
 * @export
 * @class ActionsApi
 * @extends {BaseAPI}
 */
export class ActionsApi extends BaseAPI {
    /**
     * (EXPERIMENTAL) Computes the requested statistical parameters of a column in a data source.
     * @summary (EXPERIMENTAL) Compute column statistics
     * @param {ActionsApiColumnStatisticsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    columnStatistics(requestParameters, options) {
        return ActionsApi_ColumnStatistics(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
     * @summary Get a list of schema names of a database
     * @param {ActionsApiGetDataSourceSchemataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    getDataSourceSchemata(requestParameters, options) {
        return ActionsApi_GetDataSourceSchemata(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns.
     * @summary Scan a database to get a physical data model (PDM)
     * @param {ActionsApiScanDataSourceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    scanDataSource(requestParameters, options) {
        return ActionsApi_ScanDataSource(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query
     * @summary Collect metadata about SQL query
     * @param {ActionsApiScanSqlRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    scanSql(requestParameters, options) {
        return ActionsApi_ScanSql(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Test if it is possible to connect to a database using an existing data source definition.
     * @summary Test data source connection by data source id
     * @param {ActionsApiTestDataSourceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    testDataSource(requestParameters, options) {
        return ActionsApi_TestDataSource(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Test if it is possible to connect to a database using a connection provided by the data source definition in the request body.
     * @summary Test connection by data source definition
     * @param {ActionsApiTestDataSourceDefinitionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    testDataSourceDefinition(requestParameters, options) {
        return ActionsApi_TestDataSourceDefinition(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// ComputationApi FP - ComputationApiAxiosParamCreator
/**
 * (EXPERIMENTAL) Computes the requested statistical parameters of a column in a data source.
 * @summary (EXPERIMENTAL) Compute column statistics
 * @param {string} dataSourceId
 * @param {ColumnStatisticsRequest} columnStatisticsRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ComputationApiAxiosParamCreator_ColumnStatistics(dataSourceId, columnStatisticsRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("columnStatistics", "dataSourceId", dataSourceId);
    // verify required parameter 'columnStatisticsRequest' is not null or undefined
    assertParamExists("columnStatistics", "columnStatisticsRequest", columnStatisticsRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/computeColumnStatistics`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof columnStatisticsRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(columnStatisticsRequest !== undefined ? columnStatisticsRequest : {})
        : columnStatisticsRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ComputationApi Api FP
/**
 * (EXPERIMENTAL) Computes the requested statistical parameters of a column in a data source.
 * @summary (EXPERIMENTAL) Compute column statistics
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ComputationApiColumnStatisticsRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ComputationApi_ColumnStatistics(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ComputationApiAxiosParamCreator_ColumnStatistics(requestParameters.dataSourceId, requestParameters.columnStatisticsRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * ComputationApi - object-oriented interface
 * @export
 * @class ComputationApi
 * @extends {BaseAPI}
 */
export class ComputationApi extends BaseAPI {
    /**
     * (EXPERIMENTAL) Computes the requested statistical parameters of a column in a data source.
     * @summary (EXPERIMENTAL) Compute column statistics
     * @param {ComputationApiColumnStatisticsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ComputationApi
     */
    columnStatistics(requestParameters, options) {
        return ComputationApi_ColumnStatistics(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// ScanningApi FP - ScanningApiAxiosParamCreator
/**
 * It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
 * @summary Get a list of schema names of a database
 * @param {string} dataSourceId Data source id
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ScanningApiAxiosParamCreator_GetDataSourceSchemata(dataSourceId, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("getDataSourceSchemata", "dataSourceId", dataSourceId);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/scanSchemata`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ScanningApi FP - ScanningApiAxiosParamCreator
/**
 * It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns.
 * @summary Scan a database to get a physical data model (PDM)
 * @param {string} dataSourceId Data source id
 * @param {ScanRequest} scanRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ScanningApiAxiosParamCreator_ScanDataSource(dataSourceId, scanRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("scanDataSource", "dataSourceId", dataSourceId);
    // verify required parameter 'scanRequest' is not null or undefined
    assertParamExists("scanDataSource", "scanRequest", scanRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/scan`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof scanRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(scanRequest !== undefined ? scanRequest : {})
        : scanRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ScanningApi FP - ScanningApiAxiosParamCreator
/**
 * It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query
 * @summary Collect metadata about SQL query
 * @param {string} dataSourceId Data source id
 * @param {ScanSqlRequest} scanSqlRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ScanningApiAxiosParamCreator_ScanSql(dataSourceId, scanSqlRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("scanSql", "dataSourceId", dataSourceId);
    // verify required parameter 'scanSqlRequest' is not null or undefined
    assertParamExists("scanSql", "scanSqlRequest", scanSqlRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/scanSql`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof scanSqlRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(scanSqlRequest !== undefined ? scanSqlRequest : {})
        : scanSqlRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ScanningApi Api FP
/**
 * It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
 * @summary Get a list of schema names of a database
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ScanningApiGetDataSourceSchemataRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ScanningApi_GetDataSourceSchemata(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ScanningApiAxiosParamCreator_GetDataSourceSchemata(requestParameters.dataSourceId, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ScanningApi Api FP
/**
 * It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns.
 * @summary Scan a database to get a physical data model (PDM)
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ScanningApiScanDataSourceRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ScanningApi_ScanDataSource(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ScanningApiAxiosParamCreator_ScanDataSource(requestParameters.dataSourceId, requestParameters.scanRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ScanningApi Api FP
/**
 * It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query
 * @summary Collect metadata about SQL query
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ScanningApiScanSqlRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ScanningApi_ScanSql(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ScanningApiAxiosParamCreator_ScanSql(requestParameters.dataSourceId, requestParameters.scanSqlRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * ScanningApi - object-oriented interface
 * @export
 * @class ScanningApi
 * @extends {BaseAPI}
 */
export class ScanningApi extends BaseAPI {
    /**
     * It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
     * @summary Get a list of schema names of a database
     * @param {ScanningApiGetDataSourceSchemataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScanningApi
     */
    getDataSourceSchemata(requestParameters, options) {
        return ScanningApi_GetDataSourceSchemata(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns.
     * @summary Scan a database to get a physical data model (PDM)
     * @param {ScanningApiScanDataSourceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScanningApi
     */
    scanDataSource(requestParameters, options) {
        return ScanningApi_ScanDataSource(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query
     * @summary Collect metadata about SQL query
     * @param {ScanningApiScanSqlRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScanningApi
     */
    scanSql(requestParameters, options) {
        return ScanningApi_ScanSql(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// TestConnectionApi FP - TestConnectionApiAxiosParamCreator
/**
 * Test if it is possible to connect to a database using an existing data source definition.
 * @summary Test data source connection by data source id
 * @param {string} dataSourceId Data source id
 * @param {TestRequest} testRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function TestConnectionApiAxiosParamCreator_TestDataSource(dataSourceId, testRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists("testDataSource", "dataSourceId", dataSourceId);
    // verify required parameter 'testRequest' is not null or undefined
    assertParamExists("testDataSource", "testRequest", testRequest);
    const localVarPath = `/api/v1/actions/dataSources/{dataSourceId}/test`.replace(`{${"dataSourceId"}}`, encodeURIComponent(String(dataSourceId)));
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof testRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(testRequest !== undefined ? testRequest : {})
        : testRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// TestConnectionApi FP - TestConnectionApiAxiosParamCreator
/**
 * Test if it is possible to connect to a database using a connection provided by the data source definition in the request body.
 * @summary Test connection by data source definition
 * @param {TestDefinitionRequest} testDefinitionRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function TestConnectionApiAxiosParamCreator_TestDataSourceDefinition(testDefinitionRequest, options = {}, configuration) {
    // verify required parameter 'testDefinitionRequest' is not null or undefined
    assertParamExists("testDataSourceDefinition", "testDefinitionRequest", testDefinitionRequest);
    const localVarPath = `/api/v1/actions/dataSource/test`;
    // 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 = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof testDefinitionRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(testDefinitionRequest !== undefined ? testDefinitionRequest : {})
        : testDefinitionRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// TestConnectionApi Api FP
/**
 * Test if it is possible to connect to a database using an existing data source definition.
 * @summary Test data source connection by data source id
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {TestConnectionApiTestDataSourceRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function TestConnectionApi_TestDataSource(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await TestConnectionApiAxiosParamCreator_TestDataSource(requestParameters.dataSourceId, requestParameters.testRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// TestConnectionApi Api FP
/**
 * Test if it is possible to connect to a database using a connection provided by the data source definition in the request body.
 * @summary Test connection by data source definition
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {TestConnectionApiTestDataSourceDefinitionRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function TestConnectionApi_TestDataSourceDefinition(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await TestConnectionApiAxiosParamCreator_TestDataSourceDefinition(requestParameters.testDefinitionRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * TestConnectionApi - object-oriented interface
 * @export
 * @class TestConnectionApi
 * @extends {BaseAPI}
 */
export class TestConnectionApi extends BaseAPI {
    /**
     * Test if it is possible to connect to a database using an existing data source definition.
     * @summary Test data source connection by data source id
     * @param {TestConnectionApiTestDataSourceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TestConnectionApi
     */
    testDataSource(requestParameters, options) {
        return TestConnectionApi_TestDataSource(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Test if it is possible to connect to a database using a connection provided by the data source definition in the request body.
     * @summary Test connection by data source definition
     * @param {TestConnectionApiTestDataSourceDefinitionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TestConnectionApi
     */
    testDataSourceDefinition(requestParameters, options) {
        return TestConnectionApi_TestDataSourceDefinition(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
//# sourceMappingURL=api.js.map