n8n-nodes-cativa
Version:
This is an n8n community node to communicate with Cativa.
114 lines • 4.19 kB
JavaScript
;
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