n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
89 lines • 3.51 kB
JavaScript
;
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++) {
const result = await fn(this, i);
responseData.push({
json: result,
pairedItem: { item: 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