n8n-nodes-arubacentral
Version:
n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities
44 lines (43 loc) • 2.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getClientRoamHistory = getClientRoamHistory;
const keymanagement_common_1 = require("../keymanagement.common");
const apiRequest_1 = require("../../../helpers/apiRequest");
const logger_1 = require("../../../helpers/logger");
async function getClientRoamHistory() {
var _a;
const clientMac = this.getNodeParameter('client_mac', 0);
logger_1.logger.info('keymanagement:getClientRoamHistory', `Retrieving roam history for client: ${clientMac}`);
(0, keymanagement_common_1.validateClientMac)(clientMac);
const endpoint = `${keymanagement_common_1.KEYMANAGEMENT_BASE_PATH}${keymanagement_common_1.KEYMANAGEMENT_ENDPOINTS.CLIENT_ROAM_HISTORY}/${clientMac}`;
try {
const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, {});
logger_1.logger.debug('keymanagement:getClientRoamHistory', `Retrieved roam history for ${clientMac} - event count: ${((_a = response.roam_events) === null || _a === void 0 ? void 0 : _a.length) || 0}`);
return [
{
json: {
client_mac: clientMac,
roam_events: response.roam_events || [],
...response,
},
},
];
}
catch (error) {
logger_1.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_1.logger.warn('keymanagement:getClientRoamHistory', 'API implementation is incomplete, returning empty history');
return [
{
json: {
client_mac: clientMac,
roam_events: [],
status: 'incomplete_implementation',
},
},
];
}
throw error;
}
}