/* 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 { Upload, } from '../models'; export interface CreateUploadRequest { directory: string; filename: string; body?: Blob; } export interface DeleteUploadRequest { directory: string; filename: string; } export interface GetUploadRequest { directory: string; filename: string; } /** * */ export class UploadsApi extends runtime.BaseAPI { /** * Upload a CSV file containing data to process. * Add a file */ async createUploadRaw(requestParameters: CreateUploadRequest, ): Promise> { if (requestParameters.directory === null || requestParameters.directory === undefined) { throw new runtime.RequiredError('directory','Required parameter requestParameters.directory was null or undefined when calling createUpload.'); } if (requestParameters.filename === null || requestParameters.filename === undefined) { throw new runtime.RequiredError('filename','Required parameter requestParameters.filename was null or undefined when calling createUpload.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/octet-stream'; 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: `/uploads/{directory}/{filename}`.replace(`{${"directory"}}`, encodeURIComponent(String(requestParameters.directory))).replace(`{${"filename"}}`, encodeURIComponent(String(requestParameters.filename))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.body as any, }); return new runtime.VoidApiResponse(response); } /** * Upload a CSV file containing data to process. * Add a file */ async createUpload(directory: string, filename: string, body?: Blob, ): Promise { await this.createUploadRaw({ directory: directory, filename: filename, body: body }, ); } /** * Delete a CSV file previously uploaded. * Delete a file */ async deleteUploadRaw(requestParameters: DeleteUploadRequest, ): Promise> { if (requestParameters.directory === null || requestParameters.directory === undefined) { throw new runtime.RequiredError('directory','Required parameter requestParameters.directory was null or undefined when calling deleteUpload.'); } if (requestParameters.filename === null || requestParameters.filename === undefined) { throw new runtime.RequiredError('filename','Required parameter requestParameters.filename was null or undefined when calling deleteUpload.'); } 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: `/uploads/{directory}/{filename}`.replace(`{${"directory"}}`, encodeURIComponent(String(requestParameters.directory))).replace(`{${"filename"}}`, encodeURIComponent(String(requestParameters.filename))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Delete a CSV file previously uploaded. * Delete a file */ async deleteUpload(directory: string, filename: string, ): Promise { await this.deleteUploadRaw({ directory: directory, filename: filename }, ); } /** * The file uploaded via /uploads/{directory}/{filename} * Download a previously uploaded file */ async getUploadRaw(requestParameters: GetUploadRequest, ): Promise> { if (requestParameters.directory === null || requestParameters.directory === undefined) { throw new runtime.RequiredError('directory','Required parameter requestParameters.directory was null or undefined when calling getUpload.'); } if (requestParameters.filename === null || requestParameters.filename === undefined) { throw new runtime.RequiredError('filename','Required parameter requestParameters.filename was null or undefined when calling getUpload.'); } 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: `/uploads/{directory}/{filename}`.replace(`{${"directory"}}`, encodeURIComponent(String(requestParameters.directory))).replace(`{${"filename"}}`, encodeURIComponent(String(requestParameters.filename))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.BlobApiResponse(response); } /** * The file uploaded via /uploads/{directory}/{filename} * Download a previously uploaded file */ async getUpload(directory: string, filename: string, ): Promise { const response = await this.getUploadRaw({ directory: directory, filename: filename }, ); return await response.value(); } /** * A list of files uploaded via /uploads/{directory}/{filename}, and their metadata * Retrieve the list of previously uploaded files */ async getUploadsRaw(): Promise>> { 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: `/uploads`, method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * A list of files uploaded via /uploads/{directory}/{filename}, and their metadata * Retrieve the list of previously uploaded files */ async getUploads(): Promise> { const response = await this.getUploadsRaw(); return await response.value(); } }