n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
131 lines (130 loc) • 5.41 kB
JavaScript
;
// ArubaCentralNextGen.node.ts
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArubaCentralNextGen = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const executeOperation_1 = require("./helpers/executeOperation");
const monitoring_1 = require("./descriptions/monitoring"); // Using index.ts to import everything
const baseProperties_1 = require("./descriptions/baseProperties");
const logger = __importStar(require("./helpers/logger"));
class ArubaCentralNextGen {
constructor() {
this.description = {
displayName: 'Aruba Central Next Gen',
name: 'arubaCentralNextGen',
icon: 'file:arubaCentralNextGen.svg',
group: ['output'],
version: 1,
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
description: 'Consume Aruba Central Next Gen API',
defaults: {
name: 'Aruba Central Next Gen',
},
usableAsTool: true,
inputs: ["main" /* NodeConnectionType.Main */],
outputs: ["main" /* NodeConnectionType.Main */],
credentials: [
{
name: 'arubaCentralNextGenOAuth2Api',
required: true,
},
],
properties: [
// Debug mode option at the top for visibility
{
displayName: 'Debug Mode',
name: 'debugMode',
type: 'boolean',
default: false,
description: 'Whether to enable detailed debug logs for troubleshooting',
},
// Base selections - domain and resource
baseProperties_1.domainOptions,
baseProperties_1.resourceOptions,
// Operations for each resource
monitoring_1.deviceOperations,
monitoring_1.apOperations,
monitoring_1.clientOperations,
monitoring_1.siteOperations,
// Fields for each operation
...monitoring_1.deviceFields,
...monitoring_1.apFields,
...monitoring_1.clientFields,
...monitoring_1.siteFields,
],
};
}
// Execute method remains the same
async execute() {
var _a;
try {
// Log execution start if debug mode is enabled
const debugMode = logger.isDebugMode(this);
if (debugMode) {
logger.debug('Starting node execution', undefined, this);
}
const result = await executeOperation_1.executeOperation.call(this);
if (debugMode) {
logger.debug(`Node execution completed successfully`, {
itemsReturned: ((_a = result[0]) === null || _a === void 0 ? void 0 : _a.length) || 0,
}, this);
}
return result;
}
catch (error) {
// Improve error handling to handle undefined cases
let errorMessage = 'Unknown error in node execution';
if (error) {
if (typeof error === 'string') {
errorMessage = error;
}
else if (error instanceof Error) {
errorMessage = error.message || 'Error in node execution';
}
else if (typeof error === 'object' && error !== null) {
// Try to extract a message from the error object
errorMessage = error.message || JSON.stringify(error);
}
}
logger.error('Node execution failed', new Error(errorMessage));
throw new n8n_workflow_1.NodeOperationError(this.getNode(), new Error(errorMessage), {
itemIndex: 0,
description: errorMessage,
});
}
}
}
exports.ArubaCentralNextGen = ArubaCentralNextGen;