n8n-nodes-arubacentral
Version:
n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities
69 lines (56 loc) • 2.3 kB
text/typescript
// methods/configuration/ap/apCli.methods.ts
import { IExecuteFunctions, INodeExecutionData, IDataObject } from 'n8n-workflow';
import { apiRequest } from '../../../helpers/apiRequest';
import { formatResponse } from '../../../helpers/responseFormatter';
import { CliConfig } from './apConfiguration.types';
export async function getApCliConfig(this: IExecuteFunctions): Promise<INodeExecutionData[]> {
try {
// Get parameters
const groupNameOrGuidOrSerial = this.getNodeParameter('groupNameOrGuidOrSerial', 0) as string;
const version = this.getNodeParameter('version', 0, '') as string;
// Build query parameters
const queryParams: IDataObject = {};
if (version) {
queryParams.version = version;
}
// Log the request
console.log('Getting AP CLI configuration with parameters:', {
groupNameOrGuidOrSerial,
version,
});
// Build the endpoint
const endpoint = `/configuration/v1/ap_cli/${groupNameOrGuidOrSerial}`;
// Make API call
const response = await apiRequest.call(this, 'GET', endpoint, {}, queryParams);
console.log('Received AP CLI configuration');
return formatResponse.call(this, response);
} catch (error) {
console.log('ERROR in getApCliConfig:', error);
throw error;
}
}
export async function replaceApCliConfig(this: IExecuteFunctions): Promise<INodeExecutionData[]> {
try {
// Get parameters
const groupNameOrGuidOrSerial = this.getNodeParameter('groupNameOrGuidOrSerial', 0) as string;
const cliCommandsJson = this.getNodeParameter('cliCommands', 0) as string;
// Parse the CLI commands JSON
let cliCommands: CliConfig;
try {
cliCommands = JSON.parse(cliCommandsJson);
} catch (parseError) {
throw new Error(`Invalid JSON format for CLI commands: ${parseError.message}`);
}
// Log the request
console.log('Replacing AP CLI configuration:', { groupNameOrGuidOrSerial, cliCommands });
// Build the endpoint
const endpoint = `/configuration/v1/ap_cli/${groupNameOrGuidOrSerial}`;
// Make API call
const response = await apiRequest.call(this, 'POST', endpoint, cliCommands as IDataObject, {});
console.log('AP CLI configuration replaced successfully');
return formatResponse.call(this, response);
} catch (error) {
console.log('ERROR in replaceApCliConfig:', error);
throw error;
}
}