UNPKG

n8n-nodes-dataforseo

Version:

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

78 lines 3.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataForSeoContentGenerationApi = void 0; const n8n_workflow_1 = require("n8n-workflow"); const content_generation_1 = require("./resources/content_generation"); const content_generation_2 = require("./execute/content_generation"); class DataForSeoContentGenerationApi { constructor() { this.description = { displayName: 'DataForSEO Content Generation API', name: 'dataForSeoContentGenerationApi', icon: 'file:dataforseo.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'DataForSEO', defaults: { name: 'DataForSeo Content Generation 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: [ ...content_generation_1.ContentGenerationOperations ], }; } async execute() { let responseData = []; const operation = this.getNodeParameter('operation', 0); const mapping = { 'generate-text-from-initial-input': content_generation_2.generateTextFromInitialInput, 'generate-text-by-topic': content_generation_2.generateTextByTopic, 'generate-meta-tags': content_generation_2.generateMetaTags, 'generate-sub-topics': content_generation_2.generateSubTopics, 'paraphrase-text': content_generation_2.paraphraseText, 'check-grammar': content_generation_2.checkGrammar, 'get-text-summary': content_generation_2.getTextSummary }; 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.DataForSeoContentGenerationApi = DataForSeoContentGenerationApi; //# sourceMappingURL=DataForSeoContentGenerationApi.node.js.map