UNPKG

n8n-nodes-dataforseo

Version:

DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.

70 lines 3.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBusinessListings = getBusinessListings; exports.getCategoriesAggregation = getCategoriesAggregation; const n8n_workflow_1 = require("n8n-workflow"); const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest"); const generalFunctions_1 = require("../../../functions/generalFunctions"); async function getBusinessListings(ef, i) { const filters = ef.getNodeParameter('filters', i); let parsedFilters = []; try { parsedFilters = (0, generalFunctions_1.parseFilters)(filters); } catch (e) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value"); } const categories = ef.getNodeParameter('categories', i); const parsedCategories = (0, generalFunctions_1.parseMultiOptionItems)(categories); if (parsedCategories.length > 10) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than 10 categories"); } const orderBy = ef.getNodeParameter('order_by', i); const parserdOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); const params = { url: '/business_data/business_listings/search/live', body: [{ categories: parsedCategories.length ? parsedCategories : null, description: ef.getNodeParameter('description', i) || null, title: ef.getNodeParameter('title', i) || null, is_claimed: ef.getNodeParameter('is_claimed', i), location_coordinate: ef.getNodeParameter('location_coordinate', i) || null, filters: parsedFilters.length ? parsedFilters : null, order_by: parserdOrderBy.length ? parserdOrderBy : null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getCategoriesAggregation(ef, i) { const filters = ef.getNodeParameter('initial_dataset_filters', i); let parsedFilters = []; try { parsedFilters = (0, generalFunctions_1.parseFilters)(filters); } catch (e) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Initial Dataset Filters value"); } const categories = ef.getNodeParameter('categories', i); const parsedCategories = (0, generalFunctions_1.parseMultiOptionItems)(categories); if (parsedCategories.length > 10) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than 10 categories"); } const params = { url: '/business_data/business_listings/categories_aggregation/live', body: [{ categories: parsedCategories.length ? parsedCategories : null, description: ef.getNodeParameter('description', i) || null, title: ef.getNodeParameter('title', i) || null, is_claimed: ef.getNodeParameter('is_claimed', i), location_coordinate: ef.getNodeParameter('location_coordinate', i) || null, initial_dataset_filters: parsedFilters.length ? parsedFilters : null, internal_list_limit: ef.getNodeParameter('internal_list_limit', i) || null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } //# sourceMappingURL=business_listings.js.map