UNPKG

n8n-nodes-dataforseo

Version:

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

341 lines 17.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBingBulkKeywordDifficulty = getBingBulkKeywordDifficulty; exports.getBingBulkTrafficEstimation = getBingBulkTrafficEstimation; exports.getBingCompetitorsDomain = getBingCompetitorsDomain; exports.getBingDomainIntersection = getBingDomainIntersection; exports.getBingDomainRankOverview = getBingDomainRankOverview; exports.getBingPageIntersection = getBingPageIntersection; exports.getBingRankedKeywords = getBingRankedKeywords; exports.getBingRelatedKeywords = getBingRelatedKeywords; exports.getBingRelevantPages = getBingRelevantPages; exports.getBingSerpCompetitors = getBingSerpCompetitors; exports.getBingSubdomains = getBingSubdomains; const n8n_workflow_1 = require("n8n-workflow"); const generalFunctions_1 = require("../../../functions/generalFunctions"); const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest"); async function getBingBulkKeywordDifficulty(ef, i) { const keywords = ef.getNodeParameter('keywords', i); const parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords); const params = { url: '/dataforseo_labs/bing/bulk_keyword_difficulty/live', body: [{ keywords: parsedKeywords.length ? parsedKeywords : null, location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i) }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingBulkTrafficEstimation(ef, i) { const targets = ef.getNodeParameter('targets', i); const parsedTargets = (0, generalFunctions_1.parseMultiOptionItems)(targets); const itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/bulk_traffic_estimation/live', body: [{ targets: parsedTargets.length ? parsedTargets : null, location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i), item_types: itemTypes.length ? itemTypes : null, ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i) }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingCompetitorsDomain(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 intersectingDomains = ef.getNodeParameter('intersecting_domains', i); const parsedIntersectingDomains = (0, generalFunctions_1.parseMultiOptionItems)(intersectingDomains); const itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/competitors_domain/live', body: [{ target: ef.getNodeParameter('target', i), location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i), item_types: itemTypes.length ? itemTypes : null, filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, max_rank_group: ef.getNodeParameter('max_rank_group', i) || null, exclude_top_domains: ef.getNodeParameter('exclude_top_domains', i), ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i), intersecting_domains: parsedIntersectingDomains.length ? parsedIntersectingDomains : null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingDomainIntersection(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/domain_intersection/live', body: [{ target1: ef.getNodeParameter('target1', i), target2: ef.getNodeParameter('target2', i), location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i), intersections: ef.getNodeParameter('intersections', i), item_types: itemTypes.length ? itemTypes : null, include_serp_info: ef.getNodeParameter('include_serp_info', i), limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingDomainRankOverview(ef, i) { const params = { url: '/dataforseo_labs/bing/domain_rank_overview/live', body: [{ target: ef.getNodeParameter('target', i), location_name: ef.getNodeParameter('location_name', i) || null, language_name: ef.getNodeParameter('language_name', i) || null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingPageIntersection(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 excludePages = ef.getNodeParameter('exclude_pages', i); const parsedExcludePages = (0, generalFunctions_1.parseMultiOptionItems)(excludePages); const pages = ef.getNodeParameter('pages', i); const values = pages.values; let parsedPages = {}; let index; for (const key in values) { index = parseInt(key) + 1; Object.defineProperty(parsedPages, index.toString(), { value: values[key]['value'], writable: true, enumerable: true, configurable: true }); } const itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/page_intersection/live', body: [{ pages: parsedPages, exclude_pages: parsedExcludePages.length ? parsedExcludePages : null, location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i), item_types: itemTypes.length ? itemTypes : null, ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i), limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, include_subdomains: ef.getNodeParameter('include_subdomains', i), intersection_mode: ef.getNodeParameter('intersection_mode', i) || null, include_serp_info: ef.getNodeParameter('include_serp_info', i), filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingRankedKeywords(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/ranked_keywords/live', body: [{ target: ef.getNodeParameter('target_any', i), location_name: ef.getNodeParameter('location_name', i) || null, language_name: ef.getNodeParameter('language_name', i) || null, item_types: itemTypes.length ? itemTypes : null, ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i), limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, load_rank_absolute: ef.getNodeParameter('load_rank_absolute', i), historical_serp_mode: ef.getNodeParameter('historical_serp_mode', i) || null, filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingRelatedKeywords(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 params = { url: '/dataforseo_labs/bing/related_keywords/live', body: [{ keyword: ef.getNodeParameter('keyword', i), location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i), depth: ef.getNodeParameter('depth', i) || null, include_seed_keyword: ef.getNodeParameter('include_seed_keyword', i), include_serp_info: ef.getNodeParameter('include_serp_info', i), replace_with_core_keyword: ef.getNodeParameter('replace_with_core_keyword', i), ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i), filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingRelevantPages(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/relevant_pages/live', body: [{ target: ef.getNodeParameter('target', i), location_name: ef.getNodeParameter('location_name', i) || null, language_name: ef.getNodeParameter('language_name', i) || null, item_types: itemTypes.length ? itemTypes : null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, historical_serp_mode: ef.getNodeParameter('historical_serp_mode', i), ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i), filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingSerpCompetitors(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 keywords = ef.getNodeParameter('keywords_200', i); const parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords); const itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/serp_competitors/live', body: [{ keywords: parsedKeywords.length ? parsedKeywords : null, location_name: ef.getNodeParameter('location_name_required', i), language_name: ef.getNodeParameter('language_name_required', i), include_subdomains: ef.getNodeParameter('include_subdomains', i), item_types: itemTypes.length ? itemTypes : null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null, filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } async function getBingSubdomains(ef, i) { const orderBy = ef.getNodeParameter('order_by', i); const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy); if (parsedOrderBy.length > 3) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules"); } 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 itemTypes = ef.getNodeParameter('item_types', i); const params = { url: '/dataforseo_labs/bing/subdomains/live', body: [{ target: ef.getNodeParameter('target', i), location_name: ef.getNodeParameter('location_name', i) || null, language_name: ef.getNodeParameter('language_name', i) || null, item_types: itemTypes.length ? itemTypes : null, historical_serp_mode: ef.getNodeParameter('historical_serp_mode', i), ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i), filters: parsedFilters.length ? parsedFilters : null, order_by: parsedOrderBy.length ? parsedOrderBy : null, limit: ef.getNodeParameter('limit', i) || null, offset: ef.getNodeParameter('offset', i) || null }] }; return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params); } //# sourceMappingURL=bing.js.map