/* tslint:disable */ /* eslint-disable */ /** * Credify API doc version 2 * API documentations version 2. * * The version of the OpenAPI document: 1.0.0-oas3 * Contact: dev@credify.one * * 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 { GetServiceProvidersList200Response } from '../model'; // @ts-ignore import { GetSimulationRequirements200Response } from '../model'; // @ts-ignore import { QueryOffers200Response } from '../model'; // @ts-ignore import { QueryOffersRequest } from '../model'; // @ts-ignore import { QueryProducts200Response } from '../model'; // @ts-ignore import { QueryProductsRequest } from '../model'; // @ts-ignore import { SimulateProductConfiguration200Response } from '../model'; // @ts-ignore import { SimulationRequest } from '../model'; /** * ProductApi - axios parameter creator * @export */ export const ProductApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * This retrieves service providers that provide the requested product type. * @summary Service providers * @param {string} productType * @param {*} [options] Override http request option. * @throws {RequiredError} */ getServiceProvidersList: async (productType: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productType' is not null or undefined assertParamExists('getServiceProvidersList', 'productType', productType) const localVarPath = `/v2/public/products/{product_type}/providers` .replace(`{${"product_type"}}`, encodeURIComponent(String(productType))); // 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 bearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * This retrieves simulation requirements of providers for the provided product type. * @summary Simulation requirements * @param {string} productType * @param {Array} providerIds * @param {*} [options] Override http request option. * @throws {RequiredError} */ getSimulationRequirements: async (productType: string, providerIds: Array, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productType' is not null or undefined assertParamExists('getSimulationRequirements', 'productType', productType) // verify required parameter 'providerIds' is not null or undefined assertParamExists('getSimulationRequirements', 'providerIds', providerIds) const localVarPath = `/v2/public/products/{product_type}/simulation-requirements` .replace(`{${"product_type"}}`, encodeURIComponent(String(productType))); // 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 bearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (providerIds) { localVarQueryParameter['provider_ids'] = providerIds.join(COLLECTION_FORMATS.csv); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * This fetches active offers and filters them in both data receiver and claim provider context. * @summary Query offers * @param {QueryOffersRequest} queryOffersRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryOffers: async (queryOffersRequest: QueryOffersRequest, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'queryOffersRequest' is not null or undefined assertParamExists('queryOffers', 'queryOffersRequest', queryOffersRequest) const localVarPath = `/v2/public/offers/query`; // 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; // authentication bearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = queryOffersRequest return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * This fetches active products and filters them based on parameters. * @summary Query products * @param {QueryProductsRequest} queryProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryProducts: async (queryProductsRequest: QueryProductsRequest, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'queryProductsRequest' is not null or undefined assertParamExists('queryProducts', 'queryProductsRequest', queryProductsRequest) const localVarPath = `/v2/public/products/query`; // 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; // authentication bearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = queryProductsRequest return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * This simulates product configurations of requested service providers for the provided product type. * @summary Simulation * @param {string} productType * @param {SimulationRequest} [simulationRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ simulateProductConfiguration: async (productType: string, simulationRequest?: SimulationRequest, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'productType' is not null or undefined assertParamExists('simulateProductConfiguration', 'productType', productType) const localVarPath = `/v2/public/products/{product_type}/simulation` .replace(`{${"product_type"}}`, encodeURIComponent(String(productType))); // 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; // authentication bearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = simulationRequest return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * ProductApi - functional programming interface * @export */ export const ProductApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = ProductApiAxiosParamCreator(configuration) return { /** * This retrieves service providers that provide the requested product type. * @summary Service providers * @param {string} productType * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getServiceProvidersList(productType: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getServiceProvidersList(productType, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This retrieves simulation requirements of providers for the provided product type. * @summary Simulation requirements * @param {string} productType * @param {Array} providerIds * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getSimulationRequirements(productType: string, providerIds: Array, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getSimulationRequirements(productType, providerIds, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This fetches active offers and filters them in both data receiver and claim provider context. * @summary Query offers * @param {QueryOffersRequest} queryOffersRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async queryOffers(queryOffersRequest: QueryOffersRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.queryOffers(queryOffersRequest, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This fetches active products and filters them based on parameters. * @summary Query products * @param {QueryProductsRequest} queryProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async queryProducts(queryProductsRequest: QueryProductsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.queryProducts(queryProductsRequest, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This simulates product configurations of requested service providers for the provided product type. * @summary Simulation * @param {string} productType * @param {SimulationRequest} [simulationRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async simulateProductConfiguration(productType: string, simulationRequest?: SimulationRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.simulateProductConfiguration(productType, simulationRequest, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } }; /** * ProductApi - factory interface * @export */ export const ProductApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = ProductApiFp(configuration) return { /** * This retrieves service providers that provide the requested product type. * @summary Service providers * @param {string} productType * @param {*} [options] Override http request option. * @throws {RequiredError} */ getServiceProvidersList(productType: string, options?: any): AxiosPromise { return localVarFp.getServiceProvidersList(productType, options).then((request) => request(axios, basePath)); }, /** * This retrieves simulation requirements of providers for the provided product type. * @summary Simulation requirements * @param {string} productType * @param {Array} providerIds * @param {*} [options] Override http request option. * @throws {RequiredError} */ getSimulationRequirements(productType: string, providerIds: Array, options?: any): AxiosPromise { return localVarFp.getSimulationRequirements(productType, providerIds, options).then((request) => request(axios, basePath)); }, /** * This fetches active offers and filters them in both data receiver and claim provider context. * @summary Query offers * @param {QueryOffersRequest} queryOffersRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryOffers(queryOffersRequest: QueryOffersRequest, options?: any): AxiosPromise { return localVarFp.queryOffers(queryOffersRequest, options).then((request) => request(axios, basePath)); }, /** * This fetches active products and filters them based on parameters. * @summary Query products * @param {QueryProductsRequest} queryProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryProducts(queryProductsRequest: QueryProductsRequest, options?: any): AxiosPromise { return localVarFp.queryProducts(queryProductsRequest, options).then((request) => request(axios, basePath)); }, /** * This simulates product configurations of requested service providers for the provided product type. * @summary Simulation * @param {string} productType * @param {SimulationRequest} [simulationRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ simulateProductConfiguration(productType: string, simulationRequest?: SimulationRequest, options?: any): AxiosPromise { return localVarFp.simulateProductConfiguration(productType, simulationRequest, options).then((request) => request(axios, basePath)); }, }; }; /** * ProductApi - interface * @export * @interface ProductApi */ export interface ProductApiInterface { /** * This retrieves service providers that provide the requested product type. * @summary Service providers * @param {string} productType * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ getServiceProvidersList(productType: string, options?: AxiosRequestConfig): AxiosPromise; /** * This retrieves simulation requirements of providers for the provided product type. * @summary Simulation requirements * @param {string} productType * @param {Array} providerIds * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ getSimulationRequirements(productType: string, providerIds: Array, options?: AxiosRequestConfig): AxiosPromise; /** * This fetches active offers and filters them in both data receiver and claim provider context. * @summary Query offers * @param {QueryOffersRequest} queryOffersRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ queryOffers(queryOffersRequest: QueryOffersRequest, options?: AxiosRequestConfig): AxiosPromise; /** * This fetches active products and filters them based on parameters. * @summary Query products * @param {QueryProductsRequest} queryProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ queryProducts(queryProductsRequest: QueryProductsRequest, options?: AxiosRequestConfig): AxiosPromise; /** * This simulates product configurations of requested service providers for the provided product type. * @summary Simulation * @param {string} productType * @param {SimulationRequest} [simulationRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ simulateProductConfiguration(productType: string, simulationRequest?: SimulationRequest, options?: AxiosRequestConfig): AxiosPromise; } /** * ProductApi - object-oriented interface * @export * @class ProductApi * @extends {BaseAPI} */ export class ProductApi extends BaseAPI implements ProductApiInterface { /** * This retrieves service providers that provide the requested product type. * @summary Service providers * @param {string} productType * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ public getServiceProvidersList(productType: string, options?: AxiosRequestConfig) { return ProductApiFp(this.configuration).getServiceProvidersList(productType, options).then((request) => request(this.axios, this.basePath)); } /** * This retrieves simulation requirements of providers for the provided product type. * @summary Simulation requirements * @param {string} productType * @param {Array} providerIds * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ public getSimulationRequirements(productType: string, providerIds: Array, options?: AxiosRequestConfig) { return ProductApiFp(this.configuration).getSimulationRequirements(productType, providerIds, options).then((request) => request(this.axios, this.basePath)); } /** * This fetches active offers and filters them in both data receiver and claim provider context. * @summary Query offers * @param {QueryOffersRequest} queryOffersRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ public queryOffers(queryOffersRequest: QueryOffersRequest, options?: AxiosRequestConfig) { return ProductApiFp(this.configuration).queryOffers(queryOffersRequest, options).then((request) => request(this.axios, this.basePath)); } /** * This fetches active products and filters them based on parameters. * @summary Query products * @param {QueryProductsRequest} queryProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ public queryProducts(queryProductsRequest: QueryProductsRequest, options?: AxiosRequestConfig) { return ProductApiFp(this.configuration).queryProducts(queryProductsRequest, options).then((request) => request(this.axios, this.basePath)); } /** * This simulates product configurations of requested service providers for the provided product type. * @summary Simulation * @param {string} productType * @param {SimulationRequest} [simulationRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ public simulateProductConfiguration(productType: string, simulationRequest?: SimulationRequest, options?: AxiosRequestConfig) { return ProductApiFp(this.configuration).simulateProductConfiguration(productType, simulationRequest, options).then((request) => request(this.axios, this.basePath)); } }