UNPKG

n8n-nodes-tripadvisor

Version:
121 lines 6.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tripadvisor = void 0; const resources_1 = require("./resources"); class Tripadvisor { constructor() { this.description = { displayName: 'Tripadvisor', name: 'tripadvisor', icon: 'file:tripadvisor.svg', group: ['Miscellaneous'], subtitle: '={{$parameter["resource"]}}', version: 1, description: 'Tripadvisor custom node for n8n', defaults: { name: 'Tripadvisor', }, inputs: ['main'], outputs: ['main'], credentials: [ { name: 'tripadvisorApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Location Detail', value: 'locationDetails', }, { name: 'Location Photo', value: 'locationPhotos', }, { name: 'Location Review', value: 'locationReviews', }, { name: 'Location Search', value: 'locationSearch', }, { name: 'Nearby Location Search', value: 'nearbyLocationSearch', }, ], default: 'locationDetails', }, ...resources_1.locationDetailsFields, ...resources_1.locationPhotosFields, ...resources_1.locationReviewsFields, ...resources_1.locationSearchFields, ...resources_1.nearbyLocationSearchFields, ], }; } async execute() { const resource = this.getNodeParameter('resource', 0); const credentials = await this.getCredentials('tripadvisorApi'); const apiKey = (await credentials).apiKey; let responseData; switch (resource) { case 'locationDetails': const locationIdDetails = this.getNodeParameter('locationId', 0); const languageDetails = this.getNodeParameter('additionalFields.language', 0, ''); const currencyDetails = this.getNodeParameter('additionalFields.currency', 0, ''); responseData = await (0, resources_1.getLocationDetails)(locationIdDetails, apiKey, languageDetails, currencyDetails); break; case 'locationPhotos': const locationIdPhotos = this.getNodeParameter('locationId', 0); const languagePhotos = this.getNodeParameter('additionalFields.language', 0, ''); const limitPhotos = this.getNodeParameter('additionalFields.limit', 0, ''); const offsetPhotos = this.getNodeParameter('additionalFields.offset', 0, ''); const sourcePhotos = this.getNodeParameter('additionalFields.source', 0, ''); responseData = await (0, resources_1.getLocationPhotos)(locationIdPhotos, apiKey, languagePhotos, limitPhotos, offsetPhotos, sourcePhotos); break; case 'locationReviews': const locationIdReviews = this.getNodeParameter('locationId', 0); const languageReviews = this.getNodeParameter('additionalFields.language', 0, ''); const limitReviews = this.getNodeParameter('additionalFields.limit', 0, ''); const offsetReviews = this.getNodeParameter('additionalFields.offset', 0, ''); responseData = await (0, resources_1.getLocationReviews)(locationIdReviews, apiKey, languageReviews, limitReviews, offsetReviews); break; case 'locationSearch': const searchQuerySearch = this.getNodeParameter('searchQuery', 0); const categorySearch = this.getNodeParameter('additionalFields.category', 0, ''); const phoneSearch = this.getNodeParameter('additionalFields.phone', 0, ''); const addressSearch = this.getNodeParameter('additionalFields.address', 0, ''); const latLongSearch = this.getNodeParameter('additionalFields.latLong', 0, ''); const radiusSearch = this.getNodeParameter('additionalFields.radius', 0, ''); const radiusUnitSearch = this.getNodeParameter('additionalFields.radiusUnit', 0, ''); const languageSearch = this.getNodeParameter('additionalFields.language', 0, ''); responseData = await (0, resources_1.getLocationSearch)(searchQuerySearch, apiKey, categorySearch, phoneSearch, addressSearch, latLongSearch, radiusSearch, radiusUnitSearch, languageSearch); break; case 'nearbyLocationSearch': const latLongNearby = this.getNodeParameter('latLong', 0); const categoryNearby = this.getNodeParameter('additionalFields.category', 0, ''); const phoneNearby = this.getNodeParameter('additionalFields.phone', 0, ''); const addressNearby = this.getNodeParameter('additionalFields.address', 0, ''); const radiusNearby = this.getNodeParameter('additionalFields.radius', 0, ''); const radiusUnitNearby = this.getNodeParameter('additionalFields.radiusUnit', 0, ''); const languageNearby = this.getNodeParameter('additionalFields.language', 0, ''); responseData = await (0, resources_1.getNearbyLocationSearch)(latLongNearby, apiKey, categoryNearby, phoneNearby, addressNearby, radiusNearby, radiusUnitNearby, languageNearby); break; } return this.prepareOutputData([ { json: responseData, }, ]); } } exports.Tripadvisor = Tripadvisor; //# sourceMappingURL=Tripadvisor.node.js.map