Skip to content
Snippets Groups Projects
Select Git revision
  • c69451d013a0ab9bd9d359dd08d08ac151c292d8
  • main default protected
  • Issue/3193-processingOfPersonalDataConsent
  • dev protected
  • Issue/3133-subProjectsChanges
  • Issue/2489-addNotificationManagement
  • Issue/3085-useNewApiClient
  • Issue/3043-DataStorageNrwResource
  • Issue/3011-maintenanceMode
  • Issue/2446-addingResponsibleOrganization
  • Issue/2900-removeInsituteField
  • Issue/2981-dataPubInDb
  • Issue/2881-messageController
  • Issue/2921-changesToDataPublicationFeature
  • Issue/2926-regAppLogin
  • Issue/2672-fixSfbPidPointing
  • Issue/2875-devcontainer
  • Issue/2401-advisoryServiceUI2
  • Issue/2445-extractedMetadata
  • Issue/2829-useHrefProperty
  • Issue/xxxx-configurableApiHostname
  • v3.18.0
  • v3.17.0
  • v3.16.0
  • v3.15.0
  • v3.14.0
  • v3.13.0
  • v3.12.0
  • v3.11.0
  • v3.10.0
  • v3.9.0
  • v3.8.0
  • v3.7.0
  • v3.6.0
  • v3.5.0
  • v3.4.3
  • v3.4.2
  • v3.4.1
  • v3.4.0
  • v3.3.2-package.0
  • v3.3.1
41 results

blob-api.ts

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    blob-api.ts 28.84 KiB
    /* tslint:disable */
    /* eslint-disable */
    /**
     * Coscine Web API
     * Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) is the research data management platform for your research project.
     *
     * The version of the OpenAPI document: 2.0
     * Contact: servicedesk@itc.rwth-aachen.de
     *
     * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
     * https://openapi-generator.tech
     * Do not edit the class manually.
     */
    
    
    import type { Configuration } from '../../configuration';
    import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
    import globalAxios from 'axios';
    // Some imports not used depending on template conditions
    // @ts-ignore
    import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../../common';
    // @ts-ignore
    import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../../base';
    /**
     * BlobApi - axios parameter creator
     * @export
     */
    export const BlobApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions: async (projectId: string, resourceId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // 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: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates a new blob for a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key for the new blob.
             * @param {File} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createBlob: async (projectId: string, resourceId: string, key: string, file?: File, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('createBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('createBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('createBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
                const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
                if (file !== undefined) { 
                    localVarFormParams.append('file', file as any);
                }
        
        
                localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
        
                setSearchParams(localVarUrlObj, localVarQueryParameter);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = localVarFormParams;
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Deletes a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteBlob: async (projectId: string, resourceId: string, key: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('deleteBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('deleteBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('deleteBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Download a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getBlob: async (projectId: string, resourceId: string, key: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('getBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates an existing blob of a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to update.
             * @param {File} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateBlob: async (projectId: string, resourceId: string, key: string, file?: File, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('updateBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('updateBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
                const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
                if (file !== undefined) { 
                    localVarFormParams.append('file', file as any);
                }
        
        
                localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
        
                setSearchParams(localVarUrlObj, localVarQueryParameter);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = localVarFormParams;
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * BlobApi - functional programming interface
     * @export
     */
    export const BlobApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = BlobApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId: string, resourceId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId, resourceId, options);
                const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
                const localVarOperationServerBasePath = operationServerMap['BlobApi.apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions']?.[localVarOperationServerIndex]?.url;
                return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
            },
            /**
             * 
             * @summary Creates a new blob for a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key for the new blob.
             * @param {File} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createBlob(projectId: string, resourceId: string, key: string, file?: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createBlob(projectId, resourceId, key, file, options);
                const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
                const localVarOperationServerBasePath = operationServerMap['BlobApi.createBlob']?.[localVarOperationServerIndex]?.url;
                return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
            },
            /**
             * 
             * @summary Deletes a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async deleteBlob(projectId: string, resourceId: string, key: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.deleteBlob(projectId, resourceId, key, options);
                const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
                const localVarOperationServerBasePath = operationServerMap['BlobApi.deleteBlob']?.[localVarOperationServerIndex]?.url;
                return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
            },
            /**
             * 
             * @summary Download a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getBlob(projectId: string, resourceId: string, key: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getBlob(projectId, resourceId, key, options);
                const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
                const localVarOperationServerBasePath = operationServerMap['BlobApi.getBlob']?.[localVarOperationServerIndex]?.url;
                return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
            },
            /**
             * 
             * @summary Updates an existing blob of a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to update.
             * @param {File} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateBlob(projectId: string, resourceId: string, key: string, file?: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateBlob(projectId, resourceId, key, file, options);
                const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
                const localVarOperationServerBasePath = operationServerMap['BlobApi.updateBlob']?.[localVarOperationServerIndex]?.url;
                return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
            },
        }
    };
    
    /**
     * BlobApi - factory interface
     * @export
     */
    export const BlobApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = BlobApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptionsRequest} requestParameters Request parameters.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(requestParameters: BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptionsRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(requestParameters.projectId, requestParameters.resourceId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates a new blob for a resource.
             * @param {BlobApiCreateBlobRequest} requestParameters Request parameters.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createBlob(requestParameters: BlobApiCreateBlobRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
                return localVarFp.createBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, requestParameters.file, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Deletes a blob from a resource.
             * @param {BlobApiDeleteBlobRequest} requestParameters Request parameters.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteBlob(requestParameters: BlobApiDeleteBlobRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
                return localVarFp.deleteBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Download a blob from a resource.
             * @param {BlobApiGetBlobRequest} requestParameters Request parameters.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getBlob(requestParameters: BlobApiGetBlobRequest, options?: RawAxiosRequestConfig): AxiosPromise<File> {
                return localVarFp.getBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates an existing blob of a resource.
             * @param {BlobApiUpdateBlobRequest} requestParameters Request parameters.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateBlob(requestParameters: BlobApiUpdateBlobRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
                return localVarFp.updateBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, requestParameters.file, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * Request parameters for apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions operation in BlobApi.
     * @export
     * @interface BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptionsRequest
     */
    export interface BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptionsRequest {
        /**
         * 
         * @type {string}
         * @memberof BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptions
         */
        readonly projectId: string
    
        /**
         * 
         * @type {string}
         * @memberof BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptions
         */
        readonly resourceId: string
    }
    
    /**
     * Request parameters for createBlob operation in BlobApi.
     * @export
     * @interface BlobApiCreateBlobRequest
     */
    export interface BlobApiCreateBlobRequest {
        /**
         * The identifier or slug of the project.
         * @type {string}
         * @memberof BlobApiCreateBlob
         */
        readonly projectId: string
    
        /**
         * The identifier of the resource.
         * @type {string}
         * @memberof BlobApiCreateBlob
         */
        readonly resourceId: string
    
        /**
         * The key for the new blob.
         * @type {string}
         * @memberof BlobApiCreateBlob
         */
        readonly key: string
    
        /**
         * 
         * @type {File}
         * @memberof BlobApiCreateBlob
         */
        readonly file?: File
    }
    
    /**
     * Request parameters for deleteBlob operation in BlobApi.
     * @export
     * @interface BlobApiDeleteBlobRequest
     */
    export interface BlobApiDeleteBlobRequest {
        /**
         * The identifier or slug of the project.
         * @type {string}
         * @memberof BlobApiDeleteBlob
         */
        readonly projectId: string
    
        /**
         * The identifier of the resource.
         * @type {string}
         * @memberof BlobApiDeleteBlob
         */
        readonly resourceId: string
    
        /**
         * The key associated with the blob to delete.
         * @type {string}
         * @memberof BlobApiDeleteBlob
         */
        readonly key: string
    }
    
    /**
     * Request parameters for getBlob operation in BlobApi.
     * @export
     * @interface BlobApiGetBlobRequest
     */
    export interface BlobApiGetBlobRequest {
        /**
         * The identifier or slug of the project.
         * @type {string}
         * @memberof BlobApiGetBlob
         */
        readonly projectId: string
    
        /**
         * The identifier of the resource.
         * @type {string}
         * @memberof BlobApiGetBlob
         */
        readonly resourceId: string
    
        /**
         * The key associated with the blob.
         * @type {string}
         * @memberof BlobApiGetBlob
         */
        readonly key: string
    }
    
    /**
     * Request parameters for updateBlob operation in BlobApi.
     * @export
     * @interface BlobApiUpdateBlobRequest
     */
    export interface BlobApiUpdateBlobRequest {
        /**
         * The identifier or slug of the project.
         * @type {string}
         * @memberof BlobApiUpdateBlob
         */
        readonly projectId: string
    
        /**
         * The identifier of the resource.
         * @type {string}
         * @memberof BlobApiUpdateBlob
         */
        readonly resourceId: string
    
        /**
         * The key associated with the blob to update.
         * @type {string}
         * @memberof BlobApiUpdateBlob
         */
        readonly key: string
    
        /**
         * 
         * @type {File}
         * @memberof BlobApiUpdateBlob
         */
        readonly file?: File
    }
    
    /**
     * BlobApi - object-oriented interface
     * @export
     * @class BlobApi
     * @extends {BaseAPI}
     */
    export class BlobApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptionsRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(requestParameters: BlobApiApiV2ProjectsProjectIdResourcesResourceIdBlobsOptionsRequest, options?: RawAxiosRequestConfig) {
            return BlobApiFp(this.configuration).apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(requestParameters.projectId, requestParameters.resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates a new blob for a resource.
         * @param {BlobApiCreateBlobRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public createBlob(requestParameters: BlobApiCreateBlobRequest, options?: RawAxiosRequestConfig) {
            return BlobApiFp(this.configuration).createBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, requestParameters.file, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Deletes a blob from a resource.
         * @param {BlobApiDeleteBlobRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public deleteBlob(requestParameters: BlobApiDeleteBlobRequest, options?: RawAxiosRequestConfig) {
            return BlobApiFp(this.configuration).deleteBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Download a blob from a resource.
         * @param {BlobApiGetBlobRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public getBlob(requestParameters: BlobApiGetBlobRequest, options?: RawAxiosRequestConfig) {
            return BlobApiFp(this.configuration).getBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates an existing blob of a resource.
         * @param {BlobApiUpdateBlobRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public updateBlob(requestParameters: BlobApiUpdateBlobRequest, options?: RawAxiosRequestConfig) {
            return BlobApiFp(this.configuration).updateBlob(requestParameters.projectId, requestParameters.resourceId, requestParameters.key, requestParameters.file, options).then((request) => request(this.axios, this.basePath));
        }
    }