/* 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, Stream, StreamAnalysis, StreamMergePatch, } from '../models'; export interface ArchiveStreamRequest { streamIdOrName: string; archiveConfig: ArchiveConfig; } export interface DeleteStreamRequest { streamIdOrName: string; } export interface FindOrCreateStreamRequest { streamName: string; } export interface ForceUpdateStreamRequest { streamIdOrName: string; } export interface GetStreamRequest { streamIdOrName: string; } export interface GetStreamAnalysisRequest { streamIdOrName: string; } export interface GetStreamsRequest { ids?: Array; } export interface UnarchiveStreamRequest { streamIdOrName: string; archiveConfig: ArchiveConfig; } export interface UpdateStreamRequest { streamIdOrName: string; streamFields: StreamMergePatch; } /** * */ export class StreamsApi extends runtime.BaseAPI { /** * Archive a stream * Archive a stream */ async archiveStreamRaw(requestParameters: ArchiveStreamRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling archiveStream.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling archiveStream.'); } 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: `/streams/{stream_id_or_name}/archive`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Archive a stream * Archive a stream */ async archiveStream(streamIdOrName: string, archiveConfig: ArchiveConfig, ): Promise { await this.archiveStreamRaw({ streamIdOrName: streamIdOrName, archiveConfig: archiveConfig }, ); } /** * Delete a stream */ async deleteStreamRaw(requestParameters: DeleteStreamRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling deleteStream.'); } 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: `/streams/{stream_id_or_name}`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Delete a stream */ async deleteStream(streamIdOrName: string, ): Promise { await this.deleteStreamRaw({ streamIdOrName: streamIdOrName }, ); } /** * Look up (or create) an event stream by name. * Create a stream */ async findOrCreateStreamRaw(requestParameters: FindOrCreateStreamRequest, ): Promise> { if (requestParameters.streamName === null || requestParameters.streamName === undefined) { throw new runtime.RequiredError('streamName','Required parameter requestParameters.streamName was null or undefined when calling findOrCreateStream.'); } 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: `/streams/{stream_name}`.replace(`{${"stream_name"}}`, encodeURIComponent(String(requestParameters.streamName))), method: 'POST', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Look up (or create) an event stream by name. * Create a stream */ async findOrCreateStream(streamName: string, ): Promise { const response = await this.findOrCreateStreamRaw({ streamName: streamName }, ); return await response.value(); } /** * Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. * Trigger a rerun for this resource. */ async forceUpdateStreamRaw(requestParameters: ForceUpdateStreamRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling forceUpdateStream.'); } 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: `/streams/{stream_id_or_name}/force_update`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'POST', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. * Trigger a rerun for this resource. */ async forceUpdateStream(streamIdOrName: string, ): Promise { await this.forceUpdateStreamRaw({ streamIdOrName: streamIdOrName }, ); } /** * Look up a specific event stream. * Retrieve a stream */ async getStreamRaw(requestParameters: GetStreamRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling getStream.'); } 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: `/streams/{stream_id_or_name}`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Look up a specific event stream. * Retrieve a stream */ async getStream(streamIdOrName: string, ): Promise { const response = await this.getStreamRaw({ streamIdOrName: streamIdOrName }, ); return await response.value(); } /** * Get the count of stream events emitted over a time period. */ async getStreamAnalysisRaw(requestParameters: GetStreamAnalysisRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling getStreamAnalysis.'); } 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: `/streams/{stream_id_or_name}/analysis`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Get the count of stream events emitted over a time period. */ async getStreamAnalysis(streamIdOrName: string, ): Promise { const response = await this.getStreamAnalysisRaw({ streamIdOrName: streamIdOrName }, ); return await response.value(); } /** * List all streams present on the account * List streams */ async getStreamsRaw(requestParameters: GetStreamsRequest, ): 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: `/streams`, method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * List all streams present on the account * List streams */ async getStreams(ids?: Array, ): Promise> { const response = await this.getStreamsRaw({ ids: ids }, ); return await response.value(); } /** * Unarchive a stream * Unarchive a stream */ async unarchiveStreamRaw(requestParameters: UnarchiveStreamRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling unarchiveStream.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling unarchiveStream.'); } 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: `/streams/{stream_id_or_name}/unarchive`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Unarchive a stream * Unarchive a stream */ async unarchiveStream(streamIdOrName: string, archiveConfig: ArchiveConfig, ): Promise { await this.unarchiveStreamRaw({ streamIdOrName: streamIdOrName, archiveConfig: archiveConfig }, ); } /** * Update the configuration of a stream * Update a stream */ async updateStreamRaw(requestParameters: UpdateStreamRequest, ): Promise> { if (requestParameters.streamIdOrName === null || requestParameters.streamIdOrName === undefined) { throw new runtime.RequiredError('streamIdOrName','Required parameter requestParameters.streamIdOrName was null or undefined when calling updateStream.'); } if (requestParameters.streamFields === null || requestParameters.streamFields === undefined) { throw new runtime.RequiredError('streamFields','Required parameter requestParameters.streamFields was null or undefined when calling updateStream.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/merge-patch+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: `/streams/{stream_id_or_name}`.replace(`{${"stream_id_or_name"}}`, encodeURIComponent(String(requestParameters.streamIdOrName))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: requestParameters.streamFields, }); return new runtime.JSONApiResponse(response); } /** * Update the configuration of a stream * Update a stream */ async updateStream(streamIdOrName: string, streamFields: StreamMergePatch, ): Promise { const response = await this.updateStreamRaw({ streamIdOrName: streamIdOrName, streamFields: streamFields }, ); return await response.value(); } }