n8n-nodes-arubacentral
Version:
n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities
40 lines (34 loc) • 1.22 kB
text/typescript
import { IExecuteFunctions, INodeExecutionData, IDataObject } from 'n8n-workflow';
import { apiRequest } from '../../../../helpers/apiRequest';
import { logger } from '../../../../helpers/logger';
import { handleApiError } from '../../../../helpers/errorHandler';
import { validateSwarm } from '../swarm.types';
/**
* Retrieves firmware details for a specific swarm
* GET /firmware/v1/swarms/{swarm_id}
*
* @param this The n8n execution context
* @returns Firmware details for the specified swarm
*/
export async function getSwarm(this: IExecuteFunctions): Promise<INodeExecutionData[]> {
try {
const swarmId = this.getNodeParameter('swarmId', 0) as string;
if (!swarmId) {
throw new Error('Swarm ID is required');
}
const responseData = await apiRequest.call(
this,
'GET',
`/firmware/v1/swarms/${swarmId}`,
{}, // body
{}, // query params
);
if (!validateSwarm(responseData)) {
throw new Error('Invalid response from API');
}
return [{ json: responseData as unknown as IDataObject }];
} catch (error) {
logger.error('firmware:swarm:getSwarm:error', { message: error.message });
return handleApiError.call(this, error, 'Failed to retrieve swarm firmware details');
}
}