UNPKG

n8n-nodes-arubacentral

Version:

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

55 lines (47 loc) 1.84 kB
import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow'; import { apiRequest } from '../../../../helpers/apiRequest'; import { logger } from '../../../../helpers/logger'; import { handleApiError } from '../../../../helpers/errorHandler'; /** * AI Insight Details for a Switch * * GET /aiops/v2/insights/switch/{sw_serial}/id/{insight_id}/export * * @param this The n8n execution context * @returns Formatted API response */ export async function getInsightDetailsSwitch( this: IExecuteFunctions, ): Promise<INodeExecutionData[]> { try { // Get parameters const swSerial = this.getNodeParameter('sw_serial', 0) as string; const insightId = this.getNodeParameter('insight_id', 0) as number; const fromDate = new Date(this.getNodeParameter('from', 0) as string); const toDate = new Date(this.getNodeParameter('to', 0) as string); // Convert dates to epoch milliseconds for API const fromMs = fromDate.getTime(); const toMs = toDate.getTime(); logger.debug( 'aiops:insightDetails:getInsightDetailsSwitch', `Getting details for switch=${swSerial}, insight=${insightId}, from=${fromMs}, to=${toMs}`, ); // Construct query parameters const qs = { from: fromMs, to: toMs, }; // Make API request const endpoint = `/aiops/v2/insights/switch/${encodeURIComponent(swSerial)}/id/${insightId}/export`; const responseData = await apiRequest.call(this, 'GET', endpoint, {}, qs); logger.debug( 'aiops:insightDetails:getInsightDetailsSwitch', 'Successfully retrieved switch insight details', ); // Return formatted response return [{ json: responseData }]; } catch (error) { logger.error('aiops:insightDetails:getInsightDetailsSwitch:error', { message: error.message }); return handleApiError.call(this, error, 'Failed to get AI insight details for switch'); } }