/* tslint:disable */ /* eslint-disable */ /** * Emil PublicAPI * The Emil Public API description * * The version of the OpenAPI document: 1.0 * Contact: kontakt@emil.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 globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; import { Configuration } from '../configuration'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; // @ts-ignore import { CalculateProductTariffQuoteRequestDto } from '../models'; // @ts-ignore import { CalculateProductTariffQuoteResponseClass } from '../models'; // @ts-ignore import { GetProductConfigTariffsResponseClass } from '../models'; // @ts-ignore import { InsuredObjectClass } from '../models'; // @ts-ignore import { ProductFactorForVersionClass } from '../models'; // URLSearchParams not necessarily used // @ts-ignore import { URL, URLSearchParams } from 'url'; const FormData = require('form-data'); /** * ProductVersionsApi - axios parameter creator * @export */ export const ProductVersionsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Calculates and returns a tariff quote with estimated invoice data from the published product version. * @summary Calculates a quote for a selected tariff * @param {number} productVersionId Product version id * @param {CalculateProductTariffQuoteRequestDto} calculateProductTariffQuoteRequestDto * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ calculateProductTariffQuote: async (productVersionId: number, calculateProductTariffQuoteRequestDto: CalculateProductTariffQuoteRequestDto, authorization?: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productVersionId' is not null or undefined assertParamExists('calculateProductTariffQuote', 'productVersionId', productVersionId) // verify required parameter 'calculateProductTariffQuoteRequestDto' is not null or undefined assertParamExists('calculateProductTariffQuote', 'calculateProductTariffQuoteRequestDto', calculateProductTariffQuoteRequestDto) const localVarPath = `/publicapi/v1/product_versions/{productVersionId}/tariff-quote` .replace(`{${"productVersionId"}}`, encodeURIComponent(String(productVersionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; let baseAccessToken; if (configuration) { baseOptions = configuration.baseOptions; baseAccessToken = configuration.accessToken; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication bearer required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (authorization !== undefined && authorization !== null || baseAccessToken !== undefined && baseAccessToken !== null) { localVarHeaderParameter['Authorization'] = String(authorization ? authorization : baseAccessToken); } localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(calculateProductTariffQuoteRequestDto, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Returns a list of insured objects you have previously created. The insured objects are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List insured objects * @param {number} productVersionId * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ getInsuredObjectsPerVersion: async (productVersionId: number, authorization?: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productVersionId' is not null or undefined assertParamExists('getInsuredObjectsPerVersion', 'productVersionId', productVersionId) const localVarPath = `/publicapi/v1/product_versions/{product_version_id}/insured-objects` .replace(`{${"product_version_id"}}`, encodeURIComponent(String(productVersionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; let baseAccessToken; if (configuration) { baseOptions = configuration.baseOptions; baseAccessToken = configuration.accessToken; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication bearer required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (authorization !== undefined && authorization !== null || baseAccessToken !== undefined && baseAccessToken !== null) { localVarHeaderParameter['Authorization'] = String(authorization ? authorization : baseAccessToken); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieves list of available tariffs for the published product config version * @summary Retrieve the Product Config Tariffs * @param {number} productVersionId Product version id * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductConfigTariffs: async (productVersionId: number, authorization?: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productVersionId' is not null or undefined assertParamExists('getProductConfigTariffs', 'productVersionId', productVersionId) const localVarPath = `/publicapi/v1/product_versions/{productVersionId}/tariffs` .replace(`{${"productVersionId"}}`, encodeURIComponent(String(productVersionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; let baseAccessToken; if (configuration) { baseOptions = configuration.baseOptions; baseAccessToken = configuration.accessToken; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication bearer required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (authorization !== undefined && authorization !== null || baseAccessToken !== undefined && baseAccessToken !== null) { localVarHeaderParameter['Authorization'] = String(authorization ? authorization : baseAccessToken); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Returns a list of product factors you have previously created. The product factors are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List product factors * @param {number} productVersionId * @param {string} allValues * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductFactorsPerVersion: async (productVersionId: number, allValues: string, authorization?: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productVersionId' is not null or undefined assertParamExists('getProductFactorsPerVersion', 'productVersionId', productVersionId) // verify required parameter 'allValues' is not null or undefined assertParamExists('getProductFactorsPerVersion', 'allValues', allValues) const localVarPath = `/publicapi/v1/product_versions/{product_version_id}/product-factors` .replace(`{${"product_version_id"}}`, encodeURIComponent(String(productVersionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; let baseAccessToken; if (configuration) { baseOptions = configuration.baseOptions; baseAccessToken = configuration.accessToken; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication bearer required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (allValues !== undefined) { localVarQueryParameter['all_values'] = allValues; } if (authorization !== undefined && authorization !== null || baseAccessToken !== undefined && baseAccessToken !== null) { localVarHeaderParameter['Authorization'] = String(authorization ? authorization : baseAccessToken); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * ProductVersionsApi - functional programming interface * @export */ export const ProductVersionsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = ProductVersionsApiAxiosParamCreator(configuration) return { /** * Calculates and returns a tariff quote with estimated invoice data from the published product version. * @summary Calculates a quote for a selected tariff * @param {number} productVersionId Product version id * @param {CalculateProductTariffQuoteRequestDto} calculateProductTariffQuoteRequestDto * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ async calculateProductTariffQuote(productVersionId: number, calculateProductTariffQuoteRequestDto: CalculateProductTariffQuoteRequestDto, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.calculateProductTariffQuote(productVersionId, calculateProductTariffQuoteRequestDto, authorization, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * Returns a list of insured objects you have previously created. The insured objects are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List insured objects * @param {number} productVersionId * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getInsuredObjectsPerVersion(productVersionId: number, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getInsuredObjectsPerVersion(productVersionId, authorization, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * Retrieves list of available tariffs for the published product config version * @summary Retrieve the Product Config Tariffs * @param {number} productVersionId Product version id * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getProductConfigTariffs(productVersionId: number, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getProductConfigTariffs(productVersionId, authorization, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * Returns a list of product factors you have previously created. The product factors are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List product factors * @param {number} productVersionId * @param {string} allValues * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getProductFactorsPerVersion(productVersionId: number, allValues: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getProductFactorsPerVersion(productVersionId, allValues, authorization, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } }; /** * ProductVersionsApi - factory interface * @export */ export const ProductVersionsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = ProductVersionsApiFp(configuration) return { /** * Calculates and returns a tariff quote with estimated invoice data from the published product version. * @summary Calculates a quote for a selected tariff * @param {number} productVersionId Product version id * @param {CalculateProductTariffQuoteRequestDto} calculateProductTariffQuoteRequestDto * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ calculateProductTariffQuote(productVersionId: number, calculateProductTariffQuoteRequestDto: CalculateProductTariffQuoteRequestDto, authorization?: string, options?: any): AxiosPromise { return localVarFp.calculateProductTariffQuote(productVersionId, calculateProductTariffQuoteRequestDto, authorization, options).then((request) => request(axios, basePath)); }, /** * Returns a list of insured objects you have previously created. The insured objects are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List insured objects * @param {number} productVersionId * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ getInsuredObjectsPerVersion(productVersionId: number, authorization?: string, options?: any): AxiosPromise> { return localVarFp.getInsuredObjectsPerVersion(productVersionId, authorization, options).then((request) => request(axios, basePath)); }, /** * Retrieves list of available tariffs for the published product config version * @summary Retrieve the Product Config Tariffs * @param {number} productVersionId Product version id * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductConfigTariffs(productVersionId: number, authorization?: string, options?: any): AxiosPromise { return localVarFp.getProductConfigTariffs(productVersionId, authorization, options).then((request) => request(axios, basePath)); }, /** * Returns a list of product factors you have previously created. The product factors are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List product factors * @param {number} productVersionId * @param {string} allValues * @param {string} [authorization] Bearer Token * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductFactorsPerVersion(productVersionId: number, allValues: string, authorization?: string, options?: any): AxiosPromise> { return localVarFp.getProductFactorsPerVersion(productVersionId, allValues, authorization, options).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for calculateProductTariffQuote operation in ProductVersionsApi. * @export * @interface ProductVersionsApiCalculateProductTariffQuoteRequest */ export interface ProductVersionsApiCalculateProductTariffQuoteRequest { /** * Product version id * @type {number} * @memberof ProductVersionsApiCalculateProductTariffQuote */ readonly productVersionId: number /** * * @type {CalculateProductTariffQuoteRequestDto} * @memberof ProductVersionsApiCalculateProductTariffQuote */ readonly calculateProductTariffQuoteRequestDto: CalculateProductTariffQuoteRequestDto /** * Bearer Token * @type {string} * @memberof ProductVersionsApiCalculateProductTariffQuote */ readonly authorization?: string } /** * Request parameters for getInsuredObjectsPerVersion operation in ProductVersionsApi. * @export * @interface ProductVersionsApiGetInsuredObjectsPerVersionRequest */ export interface ProductVersionsApiGetInsuredObjectsPerVersionRequest { /** * * @type {number} * @memberof ProductVersionsApiGetInsuredObjectsPerVersion */ readonly productVersionId: number /** * Bearer Token * @type {string} * @memberof ProductVersionsApiGetInsuredObjectsPerVersion */ readonly authorization?: string } /** * Request parameters for getProductConfigTariffs operation in ProductVersionsApi. * @export * @interface ProductVersionsApiGetProductConfigTariffsRequest */ export interface ProductVersionsApiGetProductConfigTariffsRequest { /** * Product version id * @type {number} * @memberof ProductVersionsApiGetProductConfigTariffs */ readonly productVersionId: number /** * Bearer Token * @type {string} * @memberof ProductVersionsApiGetProductConfigTariffs */ readonly authorization?: string } /** * Request parameters for getProductFactorsPerVersion operation in ProductVersionsApi. * @export * @interface ProductVersionsApiGetProductFactorsPerVersionRequest */ export interface ProductVersionsApiGetProductFactorsPerVersionRequest { /** * * @type {number} * @memberof ProductVersionsApiGetProductFactorsPerVersion */ readonly productVersionId: number /** * * @type {string} * @memberof ProductVersionsApiGetProductFactorsPerVersion */ readonly allValues: string /** * Bearer Token * @type {string} * @memberof ProductVersionsApiGetProductFactorsPerVersion */ readonly authorization?: string } /** * ProductVersionsApi - object-oriented interface * @export * @class ProductVersionsApi * @extends {BaseAPI} */ export class ProductVersionsApi extends BaseAPI { /** * Calculates and returns a tariff quote with estimated invoice data from the published product version. * @summary Calculates a quote for a selected tariff * @param {ProductVersionsApiCalculateProductTariffQuoteRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductVersionsApi */ public calculateProductTariffQuote(requestParameters: ProductVersionsApiCalculateProductTariffQuoteRequest, options?: AxiosRequestConfig) { return ProductVersionsApiFp(this.configuration).calculateProductTariffQuote(requestParameters.productVersionId, requestParameters.calculateProductTariffQuoteRequestDto, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath)); } /** * Returns a list of insured objects you have previously created. The insured objects are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List insured objects * @param {ProductVersionsApiGetInsuredObjectsPerVersionRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductVersionsApi */ public getInsuredObjectsPerVersion(requestParameters: ProductVersionsApiGetInsuredObjectsPerVersionRequest, options?: AxiosRequestConfig) { return ProductVersionsApiFp(this.configuration).getInsuredObjectsPerVersion(requestParameters.productVersionId, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieves list of available tariffs for the published product config version * @summary Retrieve the Product Config Tariffs * @param {ProductVersionsApiGetProductConfigTariffsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductVersionsApi */ public getProductConfigTariffs(requestParameters: ProductVersionsApiGetProductConfigTariffsRequest, options?: AxiosRequestConfig) { return ProductVersionsApiFp(this.configuration).getProductConfigTariffs(requestParameters.productVersionId, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath)); } /** * Returns a list of product factors you have previously created. The product factors are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. * @summary List product factors * @param {ProductVersionsApiGetProductFactorsPerVersionRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductVersionsApi */ public getProductFactorsPerVersion(requestParameters: ProductVersionsApiGetProductFactorsPerVersionRequest, options?: AxiosRequestConfig) { return ProductVersionsApiFp(this.configuration).getProductFactorsPerVersion(requestParameters.productVersionId, requestParameters.allValues, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath)); } }