UNPKG

n8n-nodes-dataforseo

Version:

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

87 lines 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataForSeoBacklinksApi = void 0; const n8n_workflow_1 = require("n8n-workflow"); const backlinks_1 = require("./resources/backlinks"); const backlinks_2 = require("./execute/backlinks"); class DataForSeoBacklinksApi { constructor() { this.description = { displayName: 'DataForSEO Backlinks API', name: 'dataForSeoBacklinksApi', icon: 'file:dataforseo.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'DataForSEO', defaults: { name: 'DataForSeo Backlinks 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: [ ...backlinks_1.BacklinksOperations, ], }; } async execute() { let responseData = []; const operation = this.getNodeParameter('operation', 0); const mapping = { 'get-backlinks-summary': backlinks_2.getBacklinksSummary, 'get-historical-backlink-summary': backlinks_2.getHistoricalBacklinksSummary, 'get-backlinks': backlinks_2.getBacklinks, 'get-anchors': backlinks_2.getAnchors, 'get-domain-pages': backlinks_2.getDomainPages, 'get-domain-pages-summary': backlinks_2.getDomainPagesSummary, 'get-referring-domains': backlinks_2.getRefferingDomains, 'get-referring-networks': backlinks_2.getRefferingNetworks, 'get-competitors': backlinks_2.getCompetitros, 'get-domain-intersection': backlinks_2.getDomainIntersection, 'get-page-intersection': backlinks_2.getPageIntersection, 'get-backlinks-timeseries-summary': backlinks_2.getBacklinksTimeseriesSummary, 'get-new-and-lost-backlinks-timeseries-summary': backlinks_2.getNewAndLostBacklinksTimeseriesSummary, 'get-bulk-ranks': backlinks_2.getBulkRanks, 'get-bulk-backlinks': backlinks_2.getBulkBacklinks, 'get-bulk-spam-scores': backlinks_2.getBulkSpamScores, 'get-bulk-referring-domains': backlinks_2.getBulkReferringDomains, 'get-bulk-new-and-lost-backlinks': backlinks_2.getBulkNewAndLostBacklinks, 'get-bulk-new-and-lost-referring-domains': backlinks_2.getBulkNewAndLostReferringDomains, 'get-bulk-pages-summary': backlinks_2.getBulkPagesSummary }; 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.DataForSeoBacklinksApi = DataForSeoBacklinksApi; //# sourceMappingURL=DataForSeoBacklinksApi.node.js.map