// (C) 2024-2026 GoodData Corporation
import globalAxios from 'axios';
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setSearchParams, toPathString, createRequestFunction } from './common.js';
// @ts-ignore
import { BASE_PATH, BaseAPI } from './base.js';
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Analyzes CSV files at the given locations
 * @summary Analyze CSV
 * @param {AnalyzeCsvRequest} analyzeCsvRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_AnalyzeCsv(analyzeCsvRequest, options = {}, configuration) {
    // verify required parameter 'analyzeCsvRequest' is not null or undefined
    assertParamExists('analyzeCsv', 'analyzeCsvRequest', analyzeCsvRequest);
    const localVarPath = `/api/v1/actions/fileStorage/staging/analyzeCsv`;
    // 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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof analyzeCsvRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(analyzeCsvRequest !== undefined ? analyzeCsvRequest : {})
        : analyzeCsvRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
 * @summary Collect data about the current cache usage
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_CollectCacheUsage(options = {}, configuration) {
    const localVarPath = `/api/v1/actions/collectCacheUsage`;
    // 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
/**
 * Converts a geo file from the staging area to GeoParquet format. Supported source formats: GeoJSON (.geojson, .json), ESRI Shapefile (.zip). If the source file is already in GeoParquet format, the same location is returned without conversion.
 * @summary Convert a geo file to GeoParquet format
 * @param {ConvertGeoFileRequest} convertGeoFileRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ConvertGeoFile(convertGeoFileRequest, options = {}, configuration) {
    // verify required parameter 'convertGeoFileRequest' is not null or undefined
    assertParamExists('convertGeoFile', 'convertGeoFileRequest', convertGeoFileRequest);
    const localVarPath = `/api/v1/actions/customGeoCollection/convert`;
    // 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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof convertGeoFileRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(convertGeoFileRequest !== undefined ? convertGeoFileRequest : {})
        : convertGeoFileRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Provides a location for uploading staging files for custom geo collections. Supported file types: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip). Maximum file size: 100 MB.
 * @summary Upload a geo collection file to the staging area
 * @param {File} file The geo collection file to upload. Supported formats: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip).
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_CustomGeoCollectionStagingUpload(file, options = {}, configuration) {
    // verify required parameter 'file' is not null or undefined
    assertParamExists('customGeoCollectionStagingUpload', 'file', file);
    const localVarPath = `/api/v1/actions/customGeoCollection/staging/upload`;
    // 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 = {};
    const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    if (file !== undefined) {
        localVarFormParams.append('file', file);
    }
    localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    localVarRequestOptions.data = localVarFormParams;
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Delete the files in the given data source.
 * @summary Delete datasource files
 * @param {string} dataSourceId
 * @param {DeleteFilesRequest} deleteFilesRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_DeleteFiles(dataSourceId, deleteFilesRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('deleteFiles', 'dataSourceId', dataSourceId);
    // verify required parameter 'deleteFilesRequest' is not null or undefined
    assertParamExists('deleteFiles', 'deleteFilesRequest', deleteFilesRequest);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles`
        .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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof deleteFilesRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(deleteFilesRequest !== undefined ? deleteFilesRequest : {})
        : deleteFilesRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Import the CSV files at the given locations in the staging area to the final location.
 * @summary Import CSV
 * @param {string} dataSourceId
 * @param {ImportCsvRequest} importCsvRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ImportCsv(dataSourceId, importCsvRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('importCsv', 'dataSourceId', dataSourceId);
    // verify required parameter 'importCsvRequest' is not null or undefined
    assertParamExists('importCsv', 'importCsvRequest', importCsvRequest);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv`
        .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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof importCsvRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(importCsvRequest !== undefined ? importCsvRequest : {})
        : importCsvRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Import a geo collection file from the staging area to be available for use. The file must be in GeoParquet format (use the convert endpoint first for other formats). Validates file size (max 100 MB), organization storage quota (max 1 GB total), and GeoParquet schema (requires id, geometry, and bbox columns).
 * @summary Import custom geo collection
 * @param {string} collectionId
 * @param {ImportGeoCollectionRequest} importGeoCollectionRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ImportCustomGeoCollection(collectionId, importGeoCollectionRequest, options = {}, configuration) {
    // verify required parameter 'collectionId' is not null or undefined
    assertParamExists('importCustomGeoCollection', 'collectionId', collectionId);
    // verify required parameter 'importGeoCollectionRequest' is not null or undefined
    assertParamExists('importCustomGeoCollection', 'importGeoCollectionRequest', importGeoCollectionRequest);
    const localVarPath = `/api/v1/actions/customGeoCollection/{collectionId}/import`
        .replace(`{${"collectionId"}}`, encodeURIComponent(String(collectionId)));
    // 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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof importGeoCollectionRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(importGeoCollectionRequest !== undefined ? importGeoCollectionRequest : {})
        : importGeoCollectionRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * List all the files in the given data source.
 * @summary List datasource files
 * @param {string} dataSourceId
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ListFiles(dataSourceId, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('listFiles', 'dataSourceId', dataSourceId);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles`
        .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 = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Read the manifests of the CSV files in the given data source.
 * @summary Read CSV file manifests
 * @param {string} dataSourceId
 * @param {ReadCsvFileManifestsRequest} readCsvFileManifestsRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ReadCsvFileManifests(dataSourceId, readCsvFileManifestsRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('readCsvFileManifests', 'dataSourceId', dataSourceId);
    // verify required parameter 'readCsvFileManifestsRequest' is not null or undefined
    assertParamExists('readCsvFileManifests', 'readCsvFileManifestsRequest', readCsvFileManifestsRequest);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests`
        .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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof readCsvFileManifestsRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(readCsvFileManifestsRequest !== undefined ? readCsvFileManifestsRequest : {})
        : readCsvFileManifestsRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Provides a location for uploading staging files.
 * @summary Upload a file to the staging area
 * @param {File} file The file to upload.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_StagingUpload(file, options = {}, configuration) {
    // verify required parameter 'file' is not null or undefined
    assertParamExists('stagingUpload', 'file', file);
    const localVarPath = `/api/v1/actions/fileStorage/staging/upload`;
    // 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 = {};
    const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    if (file !== undefined) {
        localVarFormParams.append('file', file);
    }
    localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    localVarRequestOptions.data = localVarFormParams;
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi Api FP
/**
 * Analyzes CSV files at the given locations
 * @summary Analyze CSV
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiAnalyzeCsvRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_AnalyzeCsv(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_AnalyzeCsv(requestParameters.analyzeCsvRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
 * @summary Collect data about the current cache usage
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_CollectCacheUsage(axios, basePath, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_CollectCacheUsage(options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Converts a geo file from the staging area to GeoParquet format. Supported source formats: GeoJSON (.geojson, .json), ESRI Shapefile (.zip). If the source file is already in GeoParquet format, the same location is returned without conversion.
 * @summary Convert a geo file to GeoParquet format
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiConvertGeoFileRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ConvertGeoFile(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ConvertGeoFile(requestParameters.convertGeoFileRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Provides a location for uploading staging files for custom geo collections. Supported file types: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip). Maximum file size: 100 MB.
 * @summary Upload a geo collection file to the staging area
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiCustomGeoCollectionStagingUploadRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_CustomGeoCollectionStagingUpload(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_CustomGeoCollectionStagingUpload(requestParameters.file, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Delete the files in the given data source.
 * @summary Delete datasource files
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiDeleteFilesRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_DeleteFiles(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_DeleteFiles(requestParameters.dataSourceId, requestParameters.deleteFilesRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Import the CSV files at the given locations in the staging area to the final location.
 * @summary Import CSV
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiImportCsvRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ImportCsv(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ImportCsv(requestParameters.dataSourceId, requestParameters.importCsvRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Import a geo collection file from the staging area to be available for use. The file must be in GeoParquet format (use the convert endpoint first for other formats). Validates file size (max 100 MB), organization storage quota (max 1 GB total), and GeoParquet schema (requires id, geometry, and bbox columns).
 * @summary Import custom geo collection
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiImportCustomGeoCollectionRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ImportCustomGeoCollection(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ImportCustomGeoCollection(requestParameters.collectionId, requestParameters.importGeoCollectionRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * List all the files in the given data source.
 * @summary List datasource files
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiListFilesRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ListFiles(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ListFiles(requestParameters.dataSourceId, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Read the manifests of the CSV files in the given data source.
 * @summary Read CSV file manifests
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiReadCsvFileManifestsRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ReadCsvFileManifests(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ReadCsvFileManifests(requestParameters.dataSourceId, requestParameters.readCsvFileManifestsRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// ActionsApi Api FP
/**
 * Provides a location for uploading staging files.
 * @summary Upload a file to the staging area
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiStagingUploadRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_StagingUpload(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_StagingUpload(requestParameters.file, 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 {
    /**
     * Analyzes CSV files at the given locations
     * @summary Analyze CSV
     * @param {ActionsApiAnalyzeCsvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    analyzeCsv(requestParameters, options) {
        return ActionsApi_AnalyzeCsv(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
     * @summary Collect data about the current cache usage
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    collectCacheUsage(options) {
        return ActionsApi_CollectCacheUsage(this.axios, this.basePath, options, this.configuration);
    }
    /**
     * Converts a geo file from the staging area to GeoParquet format. Supported source formats: GeoJSON (.geojson, .json), ESRI Shapefile (.zip). If the source file is already in GeoParquet format, the same location is returned without conversion.
     * @summary Convert a geo file to GeoParquet format
     * @param {ActionsApiConvertGeoFileRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    convertGeoFile(requestParameters, options) {
        return ActionsApi_ConvertGeoFile(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Provides a location for uploading staging files for custom geo collections. Supported file types: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip). Maximum file size: 100 MB.
     * @summary Upload a geo collection file to the staging area
     * @param {ActionsApiCustomGeoCollectionStagingUploadRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    customGeoCollectionStagingUpload(requestParameters, options) {
        return ActionsApi_CustomGeoCollectionStagingUpload(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Delete the files in the given data source.
     * @summary Delete datasource files
     * @param {ActionsApiDeleteFilesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    deleteFiles(requestParameters, options) {
        return ActionsApi_DeleteFiles(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Import the CSV files at the given locations in the staging area to the final location.
     * @summary Import CSV
     * @param {ActionsApiImportCsvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    importCsv(requestParameters, options) {
        return ActionsApi_ImportCsv(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Import a geo collection file from the staging area to be available for use. The file must be in GeoParquet format (use the convert endpoint first for other formats). Validates file size (max 100 MB), organization storage quota (max 1 GB total), and GeoParquet schema (requires id, geometry, and bbox columns).
     * @summary Import custom geo collection
     * @param {ActionsApiImportCustomGeoCollectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    importCustomGeoCollection(requestParameters, options) {
        return ActionsApi_ImportCustomGeoCollection(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * List all the files in the given data source.
     * @summary List datasource files
     * @param {ActionsApiListFilesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    listFiles(requestParameters, options) {
        return ActionsApi_ListFiles(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Read the manifests of the CSV files in the given data source.
     * @summary Read CSV file manifests
     * @param {ActionsApiReadCsvFileManifestsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    readCsvFileManifests(requestParameters, options) {
        return ActionsApi_ReadCsvFileManifests(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Provides a location for uploading staging files.
     * @summary Upload a file to the staging area
     * @param {ActionsApiStagingUploadRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    stagingUpload(requestParameters, options) {
        return ActionsApi_StagingUpload(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// CacheUsageApi FP - CacheUsageApiAxiosParamCreator
/**
 * Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
 * @summary Collect data about the current cache usage
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function CacheUsageApiAxiosParamCreator_CollectCacheUsage(options = {}, configuration) {
    const localVarPath = `/api/v1/actions/collectCacheUsage`;
    // 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,
    };
}
// CacheUsageApi Api FP
/**
 * Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
 * @summary Collect data about the current cache usage
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function CacheUsageApi_CollectCacheUsage(axios, basePath, options, configuration) {
    const localVarAxiosArgs = await CacheUsageApiAxiosParamCreator_CollectCacheUsage(options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * CacheUsageApi - object-oriented interface
 * @export
 * @class CacheUsageApi
 * @extends {BaseAPI}
 */
export class CacheUsageApi extends BaseAPI {
    /**
     * Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
     * @summary Collect data about the current cache usage
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CacheUsageApi
     */
    collectCacheUsage(options) {
        return CacheUsageApi_CollectCacheUsage(this.axios, this.basePath, options, this.configuration);
    }
}
// DataSourceFilesAnalysisApi FP - DataSourceFilesAnalysisApiAxiosParamCreator
/**
 * Analyzes CSV files at the given locations
 * @summary Analyze CSV
 * @param {AnalyzeCsvRequest} analyzeCsvRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesAnalysisApiAxiosParamCreator_AnalyzeCsv(analyzeCsvRequest, options = {}, configuration) {
    // verify required parameter 'analyzeCsvRequest' is not null or undefined
    assertParamExists('analyzeCsv', 'analyzeCsvRequest', analyzeCsvRequest);
    const localVarPath = `/api/v1/actions/fileStorage/staging/analyzeCsv`;
    // 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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof analyzeCsvRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(analyzeCsvRequest !== undefined ? analyzeCsvRequest : {})
        : analyzeCsvRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// DataSourceFilesAnalysisApi Api FP
/**
 * Analyzes CSV files at the given locations
 * @summary Analyze CSV
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {DataSourceFilesAnalysisApiAnalyzeCsvRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesAnalysisApi_AnalyzeCsv(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await DataSourceFilesAnalysisApiAxiosParamCreator_AnalyzeCsv(requestParameters.analyzeCsvRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * DataSourceFilesAnalysisApi - object-oriented interface
 * @export
 * @class DataSourceFilesAnalysisApi
 * @extends {BaseAPI}
 */
export class DataSourceFilesAnalysisApi extends BaseAPI {
    /**
     * Analyzes CSV files at the given locations
     * @summary Analyze CSV
     * @param {DataSourceFilesAnalysisApiAnalyzeCsvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DataSourceFilesAnalysisApi
     */
    analyzeCsv(requestParameters, options) {
        return DataSourceFilesAnalysisApi_AnalyzeCsv(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// DataSourceFilesDeletionApi FP - DataSourceFilesDeletionApiAxiosParamCreator
/**
 * Delete the files in the given data source.
 * @summary Delete datasource files
 * @param {string} dataSourceId
 * @param {DeleteFilesRequest} deleteFilesRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesDeletionApiAxiosParamCreator_DeleteFiles(dataSourceId, deleteFilesRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('deleteFiles', 'dataSourceId', dataSourceId);
    // verify required parameter 'deleteFilesRequest' is not null or undefined
    assertParamExists('deleteFiles', 'deleteFilesRequest', deleteFilesRequest);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles`
        .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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof deleteFilesRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(deleteFilesRequest !== undefined ? deleteFilesRequest : {})
        : deleteFilesRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// DataSourceFilesDeletionApi Api FP
/**
 * Delete the files in the given data source.
 * @summary Delete datasource files
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {DataSourceFilesDeletionApiDeleteFilesRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesDeletionApi_DeleteFiles(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await DataSourceFilesDeletionApiAxiosParamCreator_DeleteFiles(requestParameters.dataSourceId, requestParameters.deleteFilesRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * DataSourceFilesDeletionApi - object-oriented interface
 * @export
 * @class DataSourceFilesDeletionApi
 * @extends {BaseAPI}
 */
export class DataSourceFilesDeletionApi extends BaseAPI {
    /**
     * Delete the files in the given data source.
     * @summary Delete datasource files
     * @param {DataSourceFilesDeletionApiDeleteFilesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DataSourceFilesDeletionApi
     */
    deleteFiles(requestParameters, options) {
        return DataSourceFilesDeletionApi_DeleteFiles(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// DataSourceFilesImportApi FP - DataSourceFilesImportApiAxiosParamCreator
/**
 * Import the CSV files at the given locations in the staging area to the final location.
 * @summary Import CSV
 * @param {string} dataSourceId
 * @param {ImportCsvRequest} importCsvRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesImportApiAxiosParamCreator_ImportCsv(dataSourceId, importCsvRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('importCsv', 'dataSourceId', dataSourceId);
    // verify required parameter 'importCsvRequest' is not null or undefined
    assertParamExists('importCsv', 'importCsvRequest', importCsvRequest);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv`
        .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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof importCsvRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(importCsvRequest !== undefined ? importCsvRequest : {})
        : importCsvRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// DataSourceFilesImportApi Api FP
/**
 * Import the CSV files at the given locations in the staging area to the final location.
 * @summary Import CSV
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {DataSourceFilesImportApiImportCsvRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesImportApi_ImportCsv(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await DataSourceFilesImportApiAxiosParamCreator_ImportCsv(requestParameters.dataSourceId, requestParameters.importCsvRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * DataSourceFilesImportApi - object-oriented interface
 * @export
 * @class DataSourceFilesImportApi
 * @extends {BaseAPI}
 */
export class DataSourceFilesImportApi extends BaseAPI {
    /**
     * Import the CSV files at the given locations in the staging area to the final location.
     * @summary Import CSV
     * @param {DataSourceFilesImportApiImportCsvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DataSourceFilesImportApi
     */
    importCsv(requestParameters, options) {
        return DataSourceFilesImportApi_ImportCsv(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// DataSourceFilesListingApi FP - DataSourceFilesListingApiAxiosParamCreator
/**
 * List all the files in the given data source.
 * @summary List datasource files
 * @param {string} dataSourceId
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesListingApiAxiosParamCreator_ListFiles(dataSourceId, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('listFiles', 'dataSourceId', dataSourceId);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles`
        .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 = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// DataSourceFilesListingApi Api FP
/**
 * List all the files in the given data source.
 * @summary List datasource files
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {DataSourceFilesListingApiListFilesRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesListingApi_ListFiles(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await DataSourceFilesListingApiAxiosParamCreator_ListFiles(requestParameters.dataSourceId, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * DataSourceFilesListingApi - object-oriented interface
 * @export
 * @class DataSourceFilesListingApi
 * @extends {BaseAPI}
 */
export class DataSourceFilesListingApi extends BaseAPI {
    /**
     * List all the files in the given data source.
     * @summary List datasource files
     * @param {DataSourceFilesListingApiListFilesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DataSourceFilesListingApi
     */
    listFiles(requestParameters, options) {
        return DataSourceFilesListingApi_ListFiles(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// DataSourceFilesManifestReadApi FP - DataSourceFilesManifestReadApiAxiosParamCreator
/**
 * Read the manifests of the CSV files in the given data source.
 * @summary Read CSV file manifests
 * @param {string} dataSourceId
 * @param {ReadCsvFileManifestsRequest} readCsvFileManifestsRequest
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesManifestReadApiAxiosParamCreator_ReadCsvFileManifests(dataSourceId, readCsvFileManifestsRequest, options = {}, configuration) {
    // verify required parameter 'dataSourceId' is not null or undefined
    assertParamExists('readCsvFileManifests', 'dataSourceId', dataSourceId);
    // verify required parameter 'readCsvFileManifestsRequest' is not null or undefined
    assertParamExists('readCsvFileManifests', 'readCsvFileManifestsRequest', readCsvFileManifestsRequest);
    const localVarPath = `/api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests`
        .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 = {};
    const consumes = [
        'application/json'
    ];
    // use application/json if present, otherwise fallback to the first one
    localVarHeaderParameter['Content-Type'] = consumes.includes('application/json')
        ? 'application/json'
        : consumes[0];
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof readCsvFileManifestsRequest !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(readCsvFileManifestsRequest !== undefined ? readCsvFileManifestsRequest : {})
        : readCsvFileManifestsRequest || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// DataSourceFilesManifestReadApi Api FP
/**
 * Read the manifests of the CSV files in the given data source.
 * @summary Read CSV file manifests
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {DataSourceFilesManifestReadApiReadCsvFileManifestsRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceFilesManifestReadApi_ReadCsvFileManifests(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await DataSourceFilesManifestReadApiAxiosParamCreator_ReadCsvFileManifests(requestParameters.dataSourceId, requestParameters.readCsvFileManifestsRequest, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * DataSourceFilesManifestReadApi - object-oriented interface
 * @export
 * @class DataSourceFilesManifestReadApi
 * @extends {BaseAPI}
 */
export class DataSourceFilesManifestReadApi extends BaseAPI {
    /**
     * Read the manifests of the CSV files in the given data source.
     * @summary Read CSV file manifests
     * @param {DataSourceFilesManifestReadApiReadCsvFileManifestsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DataSourceFilesManifestReadApi
     */
    readCsvFileManifests(requestParameters, options) {
        return DataSourceFilesManifestReadApi_ReadCsvFileManifests(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// DataSourceStagingLocationApi FP - DataSourceStagingLocationApiAxiosParamCreator
/**
 * Provides a location for uploading staging files.
 * @summary Upload a file to the staging area
 * @param {File} file The file to upload.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceStagingLocationApiAxiosParamCreator_StagingUpload(file, options = {}, configuration) {
    // verify required parameter 'file' is not null or undefined
    assertParamExists('stagingUpload', 'file', file);
    const localVarPath = `/api/v1/actions/fileStorage/staging/upload`;
    // 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 = {};
    const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    if (file !== undefined) {
        localVarFormParams.append('file', file);
    }
    localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    localVarRequestOptions.data = localVarFormParams;
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// DataSourceStagingLocationApi Api FP
/**
 * Provides a location for uploading staging files.
 * @summary Upload a file to the staging area
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {DataSourceStagingLocationApiStagingUploadRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function DataSourceStagingLocationApi_StagingUpload(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await DataSourceStagingLocationApiAxiosParamCreator_StagingUpload(requestParameters.file, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * DataSourceStagingLocationApi - object-oriented interface
 * @export
 * @class DataSourceStagingLocationApi
 * @extends {BaseAPI}
 */
export class DataSourceStagingLocationApi extends BaseAPI {
    /**
     * Provides a location for uploading staging files.
     * @summary Upload a file to the staging area
     * @param {DataSourceStagingLocationApiStagingUploadRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DataSourceStagingLocationApi
     */
    stagingUpload(requestParameters, options) {
        return DataSourceStagingLocationApi_StagingUpload(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// OGCAPIFeaturesApi FP - OGCAPIFeaturesApiAxiosParamCreator
/**
 * Retrieve features from a GeoCollections collection as GeoJSON
 * @summary Get collection features
 * @param {string} collectionId Collection identifier
 * @param {number} [limit] Maximum number of features to return
 * @param {string} [bbox] Bounding box filter (minx,miny,maxx,maxy)
 * @param {Array<string>} [values] List of values to filter features by
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function OGCAPIFeaturesApiAxiosParamCreator_GetCollectionItems(collectionId, limit, bbox, values, options = {}, configuration) {
    // verify required parameter 'collectionId' is not null or undefined
    assertParamExists('getCollectionItems', 'collectionId', collectionId);
    const localVarPath = `/api/v1/location/collections/{collectionId}/items`
        .replace(`{${"collectionId"}}`, encodeURIComponent(String(collectionId)));
    // 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 = {};
    if (limit !== undefined) {
        localVarQueryParameter['limit'] = limit;
    }
    if (bbox !== undefined) {
        localVarQueryParameter['bbox'] = bbox;
    }
    if (values) {
        localVarQueryParameter['values'] = values;
    }
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// OGCAPIFeaturesApi FP - OGCAPIFeaturesApiAxiosParamCreator
/**
 * Retrieve features from a custom (organization-scoped) GeoCollections collection as GeoJSON
 * @summary Get custom collection features
 * @param {string} collectionId Collection identifier
 * @param {number} [limit] Maximum number of features to return
 * @param {string} [bbox] Bounding box filter (minx,miny,maxx,maxy)
 * @param {Array<string>} [values] List of values to filter features by
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function OGCAPIFeaturesApiAxiosParamCreator_GetCustomCollectionItems(collectionId, limit, bbox, values, options = {}, configuration) {
    // verify required parameter 'collectionId' is not null or undefined
    assertParamExists('getCustomCollectionItems', 'collectionId', collectionId);
    const localVarPath = `/api/v1/location/custom/collections/{collectionId}/items`
        .replace(`{${"collectionId"}}`, encodeURIComponent(String(collectionId)));
    // 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 = {};
    if (limit !== undefined) {
        localVarQueryParameter['limit'] = limit;
    }
    if (bbox !== undefined) {
        localVarQueryParameter['bbox'] = bbox;
    }
    if (values) {
        localVarQueryParameter['values'] = values;
    }
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// OGCAPIFeaturesApi Api FP
/**
 * Retrieve features from a GeoCollections collection as GeoJSON
 * @summary Get collection features
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {OGCAPIFeaturesApiGetCollectionItemsRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function OGCAPIFeaturesApi_GetCollectionItems(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await OGCAPIFeaturesApiAxiosParamCreator_GetCollectionItems(requestParameters.collectionId, requestParameters.limit, requestParameters.bbox, requestParameters.values, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// OGCAPIFeaturesApi Api FP
/**
 * Retrieve features from a custom (organization-scoped) GeoCollections collection as GeoJSON
 * @summary Get custom collection features
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {OGCAPIFeaturesApiGetCustomCollectionItemsRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function OGCAPIFeaturesApi_GetCustomCollectionItems(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await OGCAPIFeaturesApiAxiosParamCreator_GetCustomCollectionItems(requestParameters.collectionId, requestParameters.limit, requestParameters.bbox, requestParameters.values, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * OGCAPIFeaturesApi - object-oriented interface
 * @export
 * @class OGCAPIFeaturesApi
 * @extends {BaseAPI}
 */
export class OGCAPIFeaturesApi extends BaseAPI {
    /**
     * Retrieve features from a GeoCollections collection as GeoJSON
     * @summary Get collection features
     * @param {OGCAPIFeaturesApiGetCollectionItemsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OGCAPIFeaturesApi
     */
    getCollectionItems(requestParameters, options) {
        return OGCAPIFeaturesApi_GetCollectionItems(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Retrieve features from a custom (organization-scoped) GeoCollections collection as GeoJSON
     * @summary Get custom collection features
     * @param {OGCAPIFeaturesApiGetCustomCollectionItemsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OGCAPIFeaturesApi
     */
    getCustomCollectionItems(requestParameters, options) {
        return OGCAPIFeaturesApi_GetCustomCollectionItems(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
//# sourceMappingURL=api.js.map