/* tslint:disable */ /* eslint-disable */ /** * Faraday REST API * The [Faraday](https://faraday.ai) API makes it easy to predict customer behavior programmatically. See our [API change policy](https://faraday.ai/legal). * * The version of the OpenAPI document: 1.0.0 * Contact: support@faraday.ai * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import { ArchiveConfig, MarketOpportunityAnalysis, MarketOpportunityAnalysisMergePatch, MarketOpportunityAnalysisPost, } from '../models'; export interface ArchiveMarketOpportunityAnalysisRequest { marketOpportunityAnalysisId: string; archiveConfig: ArchiveConfig; } export interface CreateMarketOpportunityAnalysisRequest { marketOpportunityAnalysisFields: MarketOpportunityAnalysisPost; } export interface DeleteMarketOpportunityAnalysisRequest { marketOpportunityAnalysisId: string; } export interface ForceUpdateMarketOpportunityAnalysisRequest { marketOpportunityAnalysisId: string; } export interface GetMarketOpportunityAnalysesRequest { ids?: Array; } export interface GetMarketOpportunityAnalysisRequest { marketOpportunityAnalysisId: string; } export interface UnarchiveMarketOpportunityAnalysisRequest { marketOpportunityAnalysisId: string; archiveConfig: ArchiveConfig; } export interface UpdateMarketOpportunityAnalysisRequest { marketOpportunityAnalysisId: string; marketOpportunityAnalysisFields: MarketOpportunityAnalysisMergePatch; } /** * */ export class MarketOpportunityAnalysesApi extends runtime.BaseAPI { /** * Archive a specific market opportunity analysis */ async archiveMarketOpportunityAnalysisRaw(requestParameters: ArchiveMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisId === null || requestParameters.marketOpportunityAnalysisId === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisId','Required parameter requestParameters.marketOpportunityAnalysisId was null or undefined when calling archiveMarketOpportunityAnalysis.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling archiveMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses/{market_opportunity_analysis_id}/archive`.replace(`{${"market_opportunity_analysis_id"}}`, encodeURIComponent(String(requestParameters.marketOpportunityAnalysisId))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Archive a specific market opportunity analysis */ async archiveMarketOpportunityAnalysis(marketOpportunityAnalysisId: string, archiveConfig: ArchiveConfig, ): Promise { await this.archiveMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisId: marketOpportunityAnalysisId, archiveConfig: archiveConfig }, ); } /** * Create a new market opportunity analysis */ async createMarketOpportunityAnalysisRaw(requestParameters: CreateMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisFields === null || requestParameters.marketOpportunityAnalysisFields === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisFields','Required parameter requestParameters.marketOpportunityAnalysisFields was null or undefined when calling createMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.marketOpportunityAnalysisFields, }); return new runtime.JSONApiResponse(response); } /** * Create a new market opportunity analysis */ async createMarketOpportunityAnalysis(marketOpportunityAnalysisFields: MarketOpportunityAnalysisPost, ): Promise { const response = await this.createMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisFields: marketOpportunityAnalysisFields }, ); return await response.value(); } /** * Delete a specific market opportunity analysis */ async deleteMarketOpportunityAnalysisRaw(requestParameters: DeleteMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisId === null || requestParameters.marketOpportunityAnalysisId === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisId','Required parameter requestParameters.marketOpportunityAnalysisId was null or undefined when calling deleteMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses/{market_opportunity_analysis_id}`.replace(`{${"market_opportunity_analysis_id"}}`, encodeURIComponent(String(requestParameters.marketOpportunityAnalysisId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Delete a specific market opportunity analysis */ async deleteMarketOpportunityAnalysis(marketOpportunityAnalysisId: string, ): Promise { await this.deleteMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisId: marketOpportunityAnalysisId }, ); } /** * Trigger a rerun for this resource. * Trigger a rerun for this resource. */ async forceUpdateMarketOpportunityAnalysisRaw(requestParameters: ForceUpdateMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisId === null || requestParameters.marketOpportunityAnalysisId === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisId','Required parameter requestParameters.marketOpportunityAnalysisId was null or undefined when calling forceUpdateMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses/{market_opportunity_analysis_id}/force_update`.replace(`{${"market_opportunity_analysis_id"}}`, encodeURIComponent(String(requestParameters.marketOpportunityAnalysisId))), method: 'POST', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Trigger a rerun for this resource. * Trigger a rerun for this resource. */ async forceUpdateMarketOpportunityAnalysis(marketOpportunityAnalysisId: string, ): Promise { await this.forceUpdateMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisId: marketOpportunityAnalysisId }, ); } /** * Get all market opportunity analyses */ async getMarketOpportunityAnalysesRaw(requestParameters: GetMarketOpportunityAnalysesRequest, ): Promise>> { const queryParameters: any = {}; if (requestParameters.ids) { queryParameters['ids'] = requestParameters.ids; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses`, method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Get all market opportunity analyses */ async getMarketOpportunityAnalyses(ids?: Array, ): Promise> { const response = await this.getMarketOpportunityAnalysesRaw({ ids: ids }, ); return await response.value(); } /** * Get a specific market opportunity analysis */ async getMarketOpportunityAnalysisRaw(requestParameters: GetMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisId === null || requestParameters.marketOpportunityAnalysisId === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisId','Required parameter requestParameters.marketOpportunityAnalysisId was null or undefined when calling getMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses/{market_opportunity_analysis_id}`.replace(`{${"market_opportunity_analysis_id"}}`, encodeURIComponent(String(requestParameters.marketOpportunityAnalysisId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Get a specific market opportunity analysis */ async getMarketOpportunityAnalysis(marketOpportunityAnalysisId: string, ): Promise { const response = await this.getMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisId: marketOpportunityAnalysisId }, ); return await response.value(); } /** * Unarchive a specific market opportunity analysis */ async unarchiveMarketOpportunityAnalysisRaw(requestParameters: UnarchiveMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisId === null || requestParameters.marketOpportunityAnalysisId === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisId','Required parameter requestParameters.marketOpportunityAnalysisId was null or undefined when calling unarchiveMarketOpportunityAnalysis.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling unarchiveMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses/{market_opportunity_analysis_id}/unarchive`.replace(`{${"market_opportunity_analysis_id"}}`, encodeURIComponent(String(requestParameters.marketOpportunityAnalysisId))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Unarchive a specific market opportunity analysis */ async unarchiveMarketOpportunityAnalysis(marketOpportunityAnalysisId: string, archiveConfig: ArchiveConfig, ): Promise { await this.unarchiveMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisId: marketOpportunityAnalysisId, archiveConfig: archiveConfig }, ); } /** * Update a specific market opportunity analysis */ async updateMarketOpportunityAnalysisRaw(requestParameters: UpdateMarketOpportunityAnalysisRequest, ): Promise> { if (requestParameters.marketOpportunityAnalysisId === null || requestParameters.marketOpportunityAnalysisId === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisId','Required parameter requestParameters.marketOpportunityAnalysisId was null or undefined when calling updateMarketOpportunityAnalysis.'); } if (requestParameters.marketOpportunityAnalysisFields === null || requestParameters.marketOpportunityAnalysisFields === undefined) { throw new runtime.RequiredError('marketOpportunityAnalysisFields','Required parameter requestParameters.marketOpportunityAnalysisFields was null or undefined when calling updateMarketOpportunityAnalysis.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/market_opportunity_analyses/{market_opportunity_analysis_id}`.replace(`{${"market_opportunity_analysis_id"}}`, encodeURIComponent(String(requestParameters.marketOpportunityAnalysisId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: requestParameters.marketOpportunityAnalysisFields, }); return new runtime.JSONApiResponse(response); } /** * Update a specific market opportunity analysis */ async updateMarketOpportunityAnalysis(marketOpportunityAnalysisId: string, marketOpportunityAnalysisFields: MarketOpportunityAnalysisMergePatch, ): Promise { const response = await this.updateMarketOpportunityAnalysisRaw({ marketOpportunityAnalysisId: marketOpportunityAnalysisId, marketOpportunityAnalysisFields: marketOpportunityAnalysisFields }, ); return await response.value(); } }