/* 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, Dataset, DatasetIngressLog, DatasetMergePatch, DatasetPost, } from '../models'; export interface ArchiveDatasetRequest { datasetId: string; archiveConfig: ArchiveConfig; } export interface CreateDatasetRequest { datasetFields: DatasetPost; } export interface DeleteDatasetRequest { datasetId: string; } export interface ForceUpdateDatasetRequest { datasetId: string; } export interface GetDatasetRequest { datasetId: string; } export interface GetDatasetIngressLogRequest { datasetId: string; logId: string; } export interface GetDatasetIngressLogsRequest { datasetId: string; limit?: number; offset?: number; } export interface GetDatasetsRequest { ids?: Array; } export interface UnarchiveDatasetRequest { datasetId: string; archiveConfig: ArchiveConfig; } export interface UpdateDatasetRequest { datasetId: string; datasetFields: DatasetMergePatch; } /** * */ export class DatasetsApi extends runtime.BaseAPI { /** * Archive a dataset * Archive a dataset */ async archiveDatasetRaw(requestParameters: ArchiveDatasetRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling archiveDataset.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling archiveDataset.'); } 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: `/datasets/{dataset_id}/archive`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Archive a dataset * Archive a dataset */ async archiveDataset(datasetId: string, archiveConfig: ArchiveConfig, ): Promise { await this.archiveDatasetRaw({ datasetId: datasetId, archiveConfig: archiveConfig }, ); } /** * Create a new dataset * Create dataset */ async createDatasetRaw(requestParameters: CreateDatasetRequest, ): Promise> { if (requestParameters.datasetFields === null || requestParameters.datasetFields === undefined) { throw new runtime.RequiredError('datasetFields','Required parameter requestParameters.datasetFields was null or undefined when calling createDataset.'); } 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: `/datasets`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.datasetFields, }); return new runtime.JSONApiResponse(response); } /** * Create a new dataset * Create dataset */ async createDataset(datasetFields: DatasetPost, ): Promise { const response = await this.createDatasetRaw({ datasetFields: datasetFields }, ); return await response.value(); } /** * Delete a dataset */ async deleteDatasetRaw(requestParameters: DeleteDatasetRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling deleteDataset.'); } 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: `/datasets/{dataset_id}`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Delete a dataset */ async deleteDataset(datasetId: string, ): Promise { await this.deleteDatasetRaw({ datasetId: datasetId }, ); } /** * 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 forceUpdateDatasetRaw(requestParameters: ForceUpdateDatasetRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling forceUpdateDataset.'); } 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: `/datasets/{dataset_id}/force_update`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), 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 forceUpdateDataset(datasetId: string, ): Promise { await this.forceUpdateDatasetRaw({ datasetId: datasetId }, ); } /** * Retrieve details on a specific dataset * Retrieve a dataset */ async getDatasetRaw(requestParameters: GetDatasetRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling getDataset.'); } 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: `/datasets/{dataset_id}`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Retrieve details on a specific dataset * Retrieve a dataset */ async getDataset(datasetId: string, ): Promise { const response = await this.getDatasetRaw({ datasetId: datasetId }, ); return await response.value(); } /** * Retrieves a specific ingress log entry for a dataset * Get a single dataset ingress log by ID */ async getDatasetIngressLogRaw(requestParameters: GetDatasetIngressLogRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling getDatasetIngressLog.'); } if (requestParameters.logId === null || requestParameters.logId === undefined) { throw new runtime.RequiredError('logId','Required parameter requestParameters.logId was null or undefined when calling getDatasetIngressLog.'); } 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: `/datasets/{dataset_id}/logs/ingress/{log_id}`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))).replace(`{${"log_id"}}`, encodeURIComponent(String(requestParameters.logId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Retrieves a specific ingress log entry for a dataset * Get a single dataset ingress log by ID */ async getDatasetIngressLog(datasetId: string, logId: string, ): Promise { const response = await this.getDatasetIngressLogRaw({ datasetId: datasetId, logId: logId }, ); return await response.value(); } /** * Retrieves ingress metrics for a specific dataset * Get dataset ingress metrics over time */ async getDatasetIngressLogsRaw(requestParameters: GetDatasetIngressLogsRequest, ): Promise>> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling getDatasetIngressLogs.'); } const queryParameters: any = {}; if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.offset !== undefined) { queryParameters['offset'] = requestParameters.offset; } 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: `/datasets/{dataset_id}/logs/ingress`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Retrieves ingress metrics for a specific dataset * Get dataset ingress metrics over time */ async getDatasetIngressLogs(datasetId: string, limit?: number, offset?: number, ): Promise> { const response = await this.getDatasetIngressLogsRaw({ datasetId: datasetId, limit: limit, offset: offset }, ); return await response.value(); } /** * Get a list of the datasets available in the developer’s account * List datasets */ async getDatasetsRaw(requestParameters: GetDatasetsRequest, ): 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: `/datasets`, method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Get a list of the datasets available in the developer’s account * List datasets */ async getDatasets(ids?: Array, ): Promise> { const response = await this.getDatasetsRaw({ ids: ids }, ); return await response.value(); } /** * Unarchive a dataset * Unarchive a dataset */ async unarchiveDatasetRaw(requestParameters: UnarchiveDatasetRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling unarchiveDataset.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling unarchiveDataset.'); } 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: `/datasets/{dataset_id}/unarchive`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Unarchive a dataset * Unarchive a dataset */ async unarchiveDataset(datasetId: string, archiveConfig: ArchiveConfig, ): Promise { await this.unarchiveDatasetRaw({ datasetId: datasetId, archiveConfig: archiveConfig }, ); } /** * Update an existing dataset * Update dataset */ async updateDatasetRaw(requestParameters: UpdateDatasetRequest, ): Promise> { if (requestParameters.datasetId === null || requestParameters.datasetId === undefined) { throw new runtime.RequiredError('datasetId','Required parameter requestParameters.datasetId was null or undefined when calling updateDataset.'); } if (requestParameters.datasetFields === null || requestParameters.datasetFields === undefined) { throw new runtime.RequiredError('datasetFields','Required parameter requestParameters.datasetFields was null or undefined when calling updateDataset.'); } 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: `/datasets/{dataset_id}`.replace(`{${"dataset_id"}}`, encodeURIComponent(String(requestParameters.datasetId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: requestParameters.datasetFields, }); return new runtime.JSONApiResponse(response); } /** * Update an existing dataset * Update dataset */ async updateDataset(datasetId: string, datasetFields: DatasetMergePatch, ): Promise { const response = await this.updateDatasetRaw({ datasetId: datasetId, datasetFields: datasetFields }, ); return await response.value(); } }