UNPKG

n8n-nodes-dataforseo

Version:

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

85 lines 3.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataForSeoOnPageApi = void 0; const n8n_workflow_1 = require("n8n-workflow"); const on_page_1 = require("./resources/on_page"); const on_page_2 = require("./execute/on_page"); class DataForSeoOnPageApi { constructor() { this.description = { displayName: 'DataForSEO OnPage API', name: 'dataForSeoOnPageApi', icon: 'file:dataforseo.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'DataForSEO', defaults: { name: 'DataForSeo OnPage API', }, inputs: ["main"], outputs: ["main"], credentials: [ { name: 'dataForSeoApi', required: true, }, ], requestDefaults: { method: 'POST', baseURL: 'https://api.dataforseo.com/v3', headers: { 'Content-Type': 'application/json', }, }, properties: [ ...on_page_1.OnPageOperations ], }; } async execute() { let responseData = []; const operation = this.getNodeParameter('operation', 0); const mapping = { 'get-pages': on_page_2.getPages, 'get-pages-by-resource': on_page_2.getPagesByResource, 'get-resources': on_page_2.getResources, 'get-duplicate-tags': on_page_2.getDuplicateTags, 'get-duplicate-content': on_page_2.getDuplicateContent, 'get-links': on_page_2.getLinks, 'get-redirect-chains': on_page_2.getRedirectChains, 'get-non-indexable-pages': on_page_2.getNonIndexablePages, 'get-waterfall': on_page_2.getWaterfall, 'get-keyword-density': on_page_2.getKeywordDensity, 'get-microdata': on_page_2.getMicrodata, 'get-raw-html': on_page_2.getRawHtml, 'get-page-screenshot': on_page_2.getPageScreenshot, 'get-parsed-content': on_page_2.getParsedContent, 'get-live-parsed-content': on_page_2.getLiveParsedContent, 'get-live-instant-pages': on_page_2.getLiveInstantPages, 'get-lighthouse-audit-results': on_page_2.getLighthouseAuditResults, 'get-live-lighthouse-audit-results': on_page_2.getLiveLighthouseAuditResults }; const fn = mapping[operation]; if (!fn) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Something went wrong"); } try { const items = this.getInputData(); for (let i = 0; i < items.length; i++) { responseData.push(await fn(this, i)); } } catch (e) { if (e instanceof n8n_workflow_1.NodeOperationError) { throw e; } else { throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Something went wrong"); } } return [this.helpers.returnJsonArray(responseData)]; } } exports.DataForSeoOnPageApi = DataForSeoOnPageApi; //# sourceMappingURL=DataForSeoOnPageApi.node.js.map