UNPKG

n8n-nodes-arubacentral

Version:

n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities

44 lines (38 loc) 1.37 kB
import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow'; import { apiRequest } from '../../../../helpers/apiRequest'; import { logger } from '../../../../helpers/logger'; import { handleApiError } from '../../../../helpers/errorHandler'; import { validateClientResponse } from '../client.types'; /** * Get unified client details from Aruba Central * * @param this The n8n execution context * @returns Unified client details */ export async function getDetail(this: IExecuteFunctions): Promise<INodeExecutionData[]> { try { const macaddr = this.getNodeParameter('macaddr', 0) as string; logger.debug('monitoring:client:getDetail', `Getting unified client details for ${macaddr}`); if (!macaddr) { throw new Error('MAC address is required'); } // Make API request to get client details const response = await apiRequest.call( this, 'GET', `/monitoring/v2/clients/${macaddr}`, {}, {}, ); logger.debug('monitoring:client:getDetail', 'Got client details', { macaddr }); // Validate and return the response if (validateClientResponse(response)) { return [{ json: response }]; } else { logger.warn('monitoring:client:getDetail', 'Response validation failed', response); return [{ json: response }]; } } catch (error) { return handleApiError.call(this, error, 'Failed to get client details'); } }