n8n-nodes-arubacentral
Version:
n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities
32 lines (26 loc) • 832 B
text/typescript
// keymanagement.common.ts
import { IDataObject } from 'n8n-workflow';
export const KEYMANAGEMENT_BASE_PATH = '/keymgmt/v1';
export const KEYMANAGEMENT_ENDPOINTS = {
HEALTH: '/health',
KEY_CACHE: '/keycache',
ROAM_CACHE: '/roamcache',
SYNCED_AP_LIST: '/syncedaplist',
KEY_HASH: '/keyhash',
CLIENT_ROAM_HISTORY: '/clientroamhistory',
} as const;
export interface IKeyManagementParams extends IDataObject {
client_mac?: string;
}
export function validateClientMac(clientMac: string): void {
if (!clientMac) {
throw new Error('Client MAC address is required');
}
// Basic MAC address format validation
const macRegex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
if (!macRegex.test(clientMac)) {
throw new Error(
'Invalid MAC address format. Expected format: XX:XX:XX:XX:XX:XX or XX-XX-XX-XX-XX-XX',
);
}
}