n8n-nodes-arubacentral
Version:
n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities
49 lines (48 loc) • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSiteDetails = getSiteDetails;
const apiRequest_1 = require("../../../../helpers/apiRequest");
const logger_1 = require("../../../../helpers/logger");
const errorHandler_1 = require("../../../../helpers/errorHandler");
const siteHelpers_1 = require("../../../../helpers/siteHelpers");
/**
* Get Site Details
*
* GET /central/v2/sites/{site_id}
*
* @param this The n8n execution context
* @returns Formatted API response
*/
async function getSiteDetails() {
try {
// Get parameters
const lookupBy = this.getNodeParameter('lookupBy', 0, 'id');
let siteId;
if (lookupBy === 'name') {
// Lookup by site name
const siteName = this.getNodeParameter('site_name', 0);
logger_1.logger.debug('monitoring:site:getSiteDetails', `Looking up site ID for name: ${siteName}`);
const foundSiteId = await siteHelpers_1.findSiteId.call(this, siteName);
if (foundSiteId === null) {
throw new Error(`Site not found with name: ${siteName}`);
}
siteId = foundSiteId;
logger_1.logger.debug('monitoring:site:getSiteDetails', `Found site ID: ${siteId} for name: ${siteName}`);
}
else {
// Lookup by site ID
siteId = this.getNodeParameter('site_id', 0);
}
logger_1.logger.debug('monitoring:site:getSiteDetails', `Getting details for site: ${siteId}`);
// Make API request
const endpoint = `/central/v2/sites/${siteId}`;
const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint);
logger_1.logger.debug('monitoring:site:getSiteDetails', 'Successfully retrieved site details');
// Return formatted response
return [{ json: responseData }];
}
catch (error) {
logger_1.logger.error('monitoring:site:getSiteDetails:error', { message: error.message });
return errorHandler_1.handleApiError.call(this, error, 'Failed to get site details');
}
}