UNPKG

n8n-nodes-cativa

Version:

This is an n8n community node to communicate with Cativa.

114 lines 4.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cativa = void 0; const descriptions_1 = require("./descriptions"); const GenericFunctions_1 = require("./GenericFunctions"); const methods_1 = require("./methods"); class Cativa { constructor() { this.description = { displayName: 'Cativa', name: 'cativa', icon: 'file:cativa.png', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Consume Cativa API', defaults: { name: 'Cativa', }, inputs: ['main'], outputs: ['main'], credentials: [ { name: 'cativaApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'User', value: 'user', }, { name: 'Group', value: 'group', }, { name: 'Post', value: 'post', }, ], default: 'user', required: true, }, ...descriptions_1.userDescription, ...descriptions_1.groupDescription, ...descriptions_1.postDescription, ], }; this.methods = { credentialTest: { async cativaCredentialTest(credential) { const credentials = credential.data; const options = (0, GenericFunctions_1.requestAccountOptions)(credentials); try { await this.helpers.request(options); return { status: 'OK', message: 'Authentication successful', }; } catch (error) { return { status: 'Error', message: error.message, }; } }, }, }; } async execute() { const items = this.getInputData(); const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); const returnData = []; for (let i = 0; i < items.length; i++) { let responseData; try { if (resource === 'user') { responseData = await methods_1.resourceUser.call(this, operation, i); } else if (resource === 'group') { responseData = await methods_1.resourceGroup.call(this, operation, i); } else if (resource === 'post') { responseData = await methods_1.resourcePost.call(this, operation, i); } if (Array.isArray(responseData)) { returnData.push.apply(returnData, responseData); } else if (responseData !== undefined) { returnData.push(responseData); } } catch (error) { if (this.continueOnFail()) { returnData.push({ error: error.message }); continue; } throw error; } } return [this.helpers.returnJsonArray(returnData)]; } } exports.Cativa = Cativa; //# sourceMappingURL=Cativa.node.js.map