UNPKG

n8n-nodes-arubacentral

Version:

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

67 lines (57 loc) 1.81 kB
// getClientRoamHistory.methods.ts import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow'; import { IClientRoamHistory } from '../keymanagement.types'; import { KEYMANAGEMENT_BASE_PATH, KEYMANAGEMENT_ENDPOINTS, validateClientMac, } from '../keymanagement.common'; import { apiRequest } from '../../../helpers/apiRequest'; import { logger } from '../../../helpers/logger'; export async function getClientRoamHistory(this: IExecuteFunctions): Promise<INodeExecutionData[]> { const clientMac = this.getNodeParameter('client_mac', 0) as string; logger.info( 'keymanagement:getClientRoamHistory', `Retrieving roam history for client: ${clientMac}`, ); validateClientMac(clientMac); const endpoint = `${KEYMANAGEMENT_BASE_PATH}${KEYMANAGEMENT_ENDPOINTS.CLIENT_ROAM_HISTORY}/${clientMac}`; try { const response = await apiRequest.call(this, 'GET', endpoint, {}, {}); logger.debug( 'keymanagement:getClientRoamHistory', `Retrieved roam history for ${clientMac} - event count: ${response.roam_events?.length || 0}`, ); return [ { json: { client_mac: clientMac, roam_events: response.roam_events || [], ...response, }, }, ]; } catch (error) { logger.error( 'keymanagement:getClientRoamHistory:error', `Failed to retrieve roam history for ${clientMac}: ${error.message}`, ); // Note: API exists but implementation may be incomplete if (error.message.includes('not implemented') || error.message.includes('incomplete')) { logger.warn( 'keymanagement:getClientRoamHistory', 'API implementation is incomplete, returning empty history', ); return [ { json: { client_mac: clientMac, roam_events: [], status: 'incomplete_implementation', }, }, ]; } throw error; } }