/* 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, Place, PlaceMergePatch, PlacePost, } from '../models'; export interface ArchivePlaceRequest { placeId: string; archiveConfig: ArchiveConfig; } export interface CreatePlaceRequest { placeFields: PlacePost; } export interface DeletePlaceRequest { placeId: string; } export interface ForceUpdatePlaceRequest { placeId: string; } export interface GetPlaceRequest { placeId: string; } export interface GetPlacesRequest { ids?: Array; } export interface UnarchivePlaceRequest { placeId: string; archiveConfig: ArchiveConfig; } export interface UpdatePlaceRequest { placeId: string; placeFields: PlaceMergePatch; } /** * */ export class PlacesApi extends runtime.BaseAPI { /** * Archive a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/archive. * Archive a place */ async archivePlaceRaw(requestParameters: ArchivePlaceRequest, ): Promise> { if (requestParameters.placeId === null || requestParameters.placeId === undefined) { throw new runtime.RequiredError('placeId','Required parameter requestParameters.placeId was null or undefined when calling archivePlace.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling archivePlace.'); } 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: `/places/{place_id}/archive`.replace(`{${"place_id"}}`, encodeURIComponent(String(requestParameters.placeId))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Archive a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/archive. * Archive a place */ async archivePlace(placeId: string, archiveConfig: ArchiveConfig, ): Promise { await this.archivePlaceRaw({ placeId: placeId, archiveConfig: archiveConfig }, ); } /** * Create a new place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. Build new spatial filters on an atlas: see POST /atlases. * Create place */ async createPlaceRaw(requestParameters: CreatePlaceRequest, ): Promise> { if (requestParameters.placeFields === null || requestParameters.placeFields === undefined) { throw new runtime.RequiredError('placeFields','Required parameter requestParameters.placeFields was null or undefined when calling createPlace.'); } 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: `/places`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.placeFields, }); return new runtime.JSONApiResponse(response); } /** * Create a new place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. Build new spatial filters on an atlas: see POST /atlases. * Create place */ async createPlace(placeFields: PlacePost, ): Promise { const response = await this.createPlaceRaw({ placeFields: placeFields }, ); return await response.value(); } /** * Delete a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See DELETE /atlases/{atlas_id}. * Delete a place */ async deletePlaceRaw(requestParameters: DeletePlaceRequest, ): Promise> { if (requestParameters.placeId === null || requestParameters.placeId === undefined) { throw new runtime.RequiredError('placeId','Required parameter requestParameters.placeId was null or undefined when calling deletePlace.'); } 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: `/places/{place_id}`.replace(`{${"place_id"}}`, encodeURIComponent(String(requestParameters.placeId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.VoidApiResponse(response); } /** * Delete a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See DELETE /atlases/{atlas_id}. * Delete a place */ async deletePlace(placeId: string, ): Promise { await this.deletePlaceRaw({ placeId: placeId }, ); } /** * Trigger a rerun for this resource. Faraday automatically updates resources when their config changes, but this option is available in case of transient errors. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/force_update. * Trigger a rerun for this resource. */ async forceUpdatePlaceRaw(requestParameters: ForceUpdatePlaceRequest, ): Promise> { if (requestParameters.placeId === null || requestParameters.placeId === undefined) { throw new runtime.RequiredError('placeId','Required parameter requestParameters.placeId was null or undefined when calling forceUpdatePlace.'); } 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: `/places/{place_id}/force_update`.replace(`{${"place_id"}}`, encodeURIComponent(String(requestParameters.placeId))), 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. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/force_update. * Trigger a rerun for this resource. */ async forceUpdatePlace(placeId: string, ): Promise { await this.forceUpdatePlaceRaw({ placeId: placeId }, ); } /** * Retrieve details on a specific place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See GET /atlases/{atlas_id}. * Retrieve a place */ async getPlaceRaw(requestParameters: GetPlaceRequest, ): Promise> { if (requestParameters.placeId === null || requestParameters.placeId === undefined) { throw new runtime.RequiredError('placeId','Required parameter requestParameters.placeId was null or undefined when calling getPlace.'); } 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: `/places/{place_id}`.replace(`{${"place_id"}}`, encodeURIComponent(String(requestParameters.placeId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Retrieve details on a specific place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See GET /atlases/{atlas_id}. * Retrieve a place */ async getPlace(placeId: string, ): Promise { const response = await this.getPlaceRaw({ placeId: placeId }, ); return await response.value(); } /** * Get a list of the places defined on the account. Geometry and addresses are omitted from this endpoint\'s response to avoid overly large response sizes. If you want to inspect a place\'s geometry or addresses, then use GET /places/. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See GET /atlases. * List places */ async getPlacesRaw(requestParameters: GetPlacesRequest, ): 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: `/places`, method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); } /** * Get a list of the places defined on the account. Geometry and addresses are omitted from this endpoint\'s response to avoid overly large response sizes. If you want to inspect a place\'s geometry or addresses, then use GET /places/. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See GET /atlases. * List places */ async getPlaces(ids?: Array, ): Promise> { const response = await this.getPlacesRaw({ ids: ids }, ); return await response.value(); } /** * Unarchive a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/unarchive. * Unarchive a place */ async unarchivePlaceRaw(requestParameters: UnarchivePlaceRequest, ): Promise> { if (requestParameters.placeId === null || requestParameters.placeId === undefined) { throw new runtime.RequiredError('placeId','Required parameter requestParameters.placeId was null or undefined when calling unarchivePlace.'); } if (requestParameters.archiveConfig === null || requestParameters.archiveConfig === undefined) { throw new runtime.RequiredError('archiveConfig','Required parameter requestParameters.archiveConfig was null or undefined when calling unarchivePlace.'); } 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: `/places/{place_id}/unarchive`.replace(`{${"place_id"}}`, encodeURIComponent(String(requestParameters.placeId))), method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters.archiveConfig, }); return new runtime.VoidApiResponse(response); } /** * Unarchive a place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See POST /atlases/{atlas_id}/unarchive. * Unarchive a place */ async unarchivePlace(placeId: string, archiveConfig: ArchiveConfig, ): Promise { await this.unarchivePlaceRaw({ placeId: placeId, archiveConfig: archiveConfig }, ); } /** * Update an existing place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See PATCH /atlases/{atlas_id}. * Update place */ async updatePlaceRaw(requestParameters: UpdatePlaceRequest, ): Promise> { if (requestParameters.placeId === null || requestParameters.placeId === undefined) { throw new runtime.RequiredError('placeId','Required parameter requestParameters.placeId was null or undefined when calling updatePlace.'); } if (requestParameters.placeFields === null || requestParameters.placeFields === undefined) { throw new runtime.RequiredError('placeFields','Required parameter requestParameters.placeFields was null or undefined when calling updatePlace.'); } 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: `/places/{place_id}`.replace(`{${"place_id"}}`, encodeURIComponent(String(requestParameters.placeId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: requestParameters.placeFields, }); return new runtime.JSONApiResponse(response); } /** * Update an existing place. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. See PATCH /atlases/{atlas_id}. * Update place */ async updatePlace(placeId: string, placeFields: PlaceMergePatch, ): Promise { const response = await this.updatePlaceRaw({ placeId: placeId, placeFields: placeFields }, ); return await response.value(); } }