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
JavaScript
;
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