// Teste de parsing de callbacks console.log('🧪 Testando parsing de callbacks...\n'); // Simular dados de callback const testCallbacks = [ 'check_signal_olt_dito_DACM91569513', 'check_signal_olt_colmeia_ABCD12345678', 'check_signal_olt_canaa_TEST123456', 'check_signal_olt_canaa2_SERIAL789', 'show_config_olt_dito_1/1/1_10', 'show_config_olt_canaa2_2/2/2_25' ]; function parseCheckSignalCallback(data) { const parts = data.split('_'); let oltId, serialNumber; if (parts.length === 5) { // Caso: check_signal_olt_dito_SERIAL oltId = parts[2] + '_' + parts[3]; // "olt_dito" serialNumber = parts[4]; } else if (parts.length === 4) { // Caso: check_signal_oltid_SERIAL oltId = parts[2]; serialNumber = parts[3]; } else { // Tentar reconstruir dinamicamente oltId = parts.slice(2, -1).join('_'); serialNumber = parts[parts.length - 1]; } return { oltId, serialNumber }; } function parseShowConfigCallback(data) { const parts = data.split('_'); let oltId, slot, onuId; if (parts.length === 6) { // Caso: show_config_olt_dito_slot_onuid oltId = parts[2] + '_' + parts[3]; // "olt_dito" slot = parts[4]; onuId = parts[5]; } else if (parts.length === 5) { // Caso: show_config_oltid_slot_onuid oltId = parts[2]; slot = parts[3]; onuId = parts[4]; } else { // Tentar reconstruir dinamicamente onuId = parts[parts.length - 1]; slot = parts[parts.length - 2]; oltId = parts.slice(2, -2).join('_'); } return { oltId, slot, onuId }; } testCallbacks.forEach((callback, index) => { console.log(`${index + 1}. Callback: "${callback}"`); if (callback.startsWith('check_signal_')) { const result = parseCheckSignalCallback(callback); console.log(` Resultado: OLT="${result.oltId}", Serial="${result.serialNumber}"`); } else if (callback.startsWith('show_config_')) { const result = parseShowConfigCallback(callback); console.log(` Resultado: OLT="${result.oltId}", Slot="${result.slot}", ONU="${result.onuId}"`); } console.log(''); }); console.log('✅ Teste concluído!');