UNPKG

n8n-nodes-megaapi

Version:

N8N Community Node for MegaAPI WhatsApp automation - Complete WhatsApp integration with messaging, groups, media, and more

82 lines 3.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.detailsGroup = detailsGroup; const n8n_workflow_1 = require("n8n-workflow"); const megaapiRequest_1 = require("../megaapiRequest"); async function detailsGroup(itemIndex) { var _a; const credentials = await this.getCredentials('megaApiCredentialsApi'); const instanceKey = credentials.instanceKey; const jid = this.getNodeParameter('jid', itemIndex); console.log('🔐 MegaAPI Credentials loaded'); console.log(`📋 Operation: detailsGroup (item ${itemIndex + 1})`); console.log(`📱 Instance Key: ${instanceKey}`); console.log(`🏷️ Group JID: ${jid}`); try { if (!jid || !jid.includes('@g.us')) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Group JID must be in format: group_id@g.us (e.g., 12345678910@g.us)', { itemIndex }); } const apiUrl = `/rest/group/${instanceKey}/group/?jid=${encodeURIComponent(jid)}`; console.log(`🌐 Full URL: ${credentials.host}${apiUrl}`); console.log('📤 Request Options'); console.log(` Method: GET`); console.log(` Authorization: Bearer ${(_a = credentials.token) === null || _a === void 0 ? void 0 : _a.substring(0, 10)}...`); console.log(` Content-Type: application/json`); console.log('📋 Fetching group details from MegaAPI...'); const response = await megaapiRequest_1.megaapiRequest.call(this, 'GET', apiUrl); console.log('📥 Response received', typeof response === 'string' ? response.substring(0, 50) + '...' : response); let groupData; if (typeof response === 'string') { try { groupData = JSON.parse(response); } catch { groupData = { message: response, status: 'unknown' }; } } else { groupData = response; } let groupName = 'Unknown'; let participantCount = 0; let isAdmin = false; if (groupData && typeof groupData === 'object') { if (groupData.subject || groupData.name) { groupName = groupData.subject || groupData.name; } if (groupData.participants && Array.isArray(groupData.participants)) { participantCount = groupData.participants.length; } if (groupData.participants && Array.isArray(groupData.participants)) { const currentInstanceJid = `${instanceKey}@s.whatsapp.net`; const adminParticipant = groupData.participants.find((p) => p.id === currentInstanceJid && (p.admin === 'admin' || p.admin === 'superadmin')); isAdmin = !!adminParticipant; } } console.log(`✅ Group details retrieved successfully`); console.log(` Group Name: ${groupName}`); console.log(` Participants: ${participantCount}`); console.log(` Is Admin: ${isAdmin}`); return { json: { success: true, operation: 'detailsGroup', instanceKey, groupJid: jid, groupName, participantCount, isAdmin, message: `Group details retrieved successfully for ${groupName}`, data: groupData, timestamp: new Date().toISOString(), }, pairedItem: { item: itemIndex }, }; } catch (error) { console.log('💥 Error in MegaAPI Details Group operation'); console.log(error); throw error; } } //# sourceMappingURL=detailsGroup.js.map