UNPKG

n8n-nodes-evolution-api

Version:
178 lines 7.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setEvolutionBot = setEvolutionBot; const n8n_workflow_1 = require("n8n-workflow"); const evolutionRequest_1 = require("../evolutionRequest"); async function setEvolutionBot(ef) { try { const instanceName = ef.getNodeParameter('instanceName', 0); const resourceForEvolutionBot = ef.getNodeParameter('resourceForEvolutionBot', 0); let options; if (resourceForEvolutionBot === 'createEvolutionBot') { const apiUrl = ef.getNodeParameter('apiUrl', 0); const apiKey = ef.getNodeParameter('apiKeyBot', 0); const triggerType = ef.getNodeParameter('triggerType', 0); const triggerOperator = ef.getNodeParameter('triggerOperator', 0); const triggerValue = ef.getNodeParameter('triggerValue', 0); const expire = ef.getNodeParameter('expire', 0); const keywordFinish = ef.getNodeParameter('keywordFinish', 0); const delayMessage = ef.getNodeParameter('delayMessage', 0); const unknownMessage = ef.getNodeParameter('unknownMessage', 0); const listeningFromMe = ef.getNodeParameter('listeningFromMe', 0); const stopBotFromMe = ef.getNodeParameter('stopBotFromMe', 0); const keepOpen = ef.getNodeParameter('keepOpen', 0); const debounceTime = ef.getNodeParameter('debounceTime', 0); const ignoreJids = ef.getNodeParameter('ignoreJids', 0); const body = { enabled: true, apiUrl, ...(apiKey && { apiKey }), triggerType, triggerOperator, triggerValue, expire, keywordFinish, delayMessage, unknownMessage, listeningFromMe, stopBotFromMe, keepOpen, debounceTime, ignoreJids: ignoreJids || [] }; options = { method: 'POST', uri: `/evolutionBot/create/${instanceName}`, body, json: true, }; } else if (resourceForEvolutionBot === 'findEvolutionBot') { const evolutionBotId = ef.getNodeParameter('evolutionBotId', 0); options = { method: 'GET', uri: evolutionBotId ? `/evolutionBot/fetch/${evolutionBotId}/${instanceName}` : `/evolutionBot/find/${instanceName}`, json: true, }; } else if (resourceForEvolutionBot === 'updateEvolutionBot') { const evolutionBotId = ef.getNodeParameter('evolutionBotId', 0); const apiUrl = ef.getNodeParameter('apiUrl', 0); const apiKey = ef.getNodeParameter('apiKeyBot', 0); const triggerType = ef.getNodeParameter('triggerType', 0); const triggerOperator = ef.getNodeParameter('triggerOperator', 0); const triggerValue = ef.getNodeParameter('triggerValue', 0); const expire = ef.getNodeParameter('expire', 0); const keywordFinish = ef.getNodeParameter('keywordFinish', 0); const delayMessage = ef.getNodeParameter('delayMessage', 0); const unknownMessage = ef.getNodeParameter('unknownMessage', 0); const listeningFromMe = ef.getNodeParameter('listeningFromMe', 0); const stopBotFromMe = ef.getNodeParameter('stopBotFromMe', 0); const keepOpen = ef.getNodeParameter('keepOpen', 0); const debounceTime = ef.getNodeParameter('debounceTime', 0); const ignoreJids = ef.getNodeParameter('ignoreJids', 0); const body = { enabled: true, apiUrl, ...(apiKey && { apiKey }), triggerType, triggerOperator, triggerValue, expire, keywordFinish, delayMessage, unknownMessage, listeningFromMe, stopBotFromMe, keepOpen, debounceTime, ignoreJids: ignoreJids || [] }; options = { method: 'PUT', uri: `/evolutionBot/update/${evolutionBotId}/${instanceName}`, body, json: true, }; } else if (resourceForEvolutionBot === 'deleteEvolutionBot') { const evolutionBotId = ef.getNodeParameter('evolutionBotId', 0); options = { method: 'DELETE', uri: `/evolutionBot/delete/${evolutionBotId}/${instanceName}`, json: true, }; } else if (resourceForEvolutionBot === 'fetchSessionsEvolutionBot') { const evolutionBotId = ef.getNodeParameter('evolutionBotId', 0); options = { method: 'GET', uri: `/evolutionBot/fetchSessions/${evolutionBotId}/${instanceName}`, json: true, }; } else if (resourceForEvolutionBot === 'changeStatusEvolutionBot') { const remoteJid = ef.getNodeParameter('remoteJid', 0); const status = ef.getNodeParameter('status', 0); options = { method: 'POST', uri: `/evolutionBot/changeStatus/${instanceName}`, body: { remoteJid, status, }, json: true, }; } else { const errorData = { success: false, error: { message: 'Operação do Evolution Bot não reconhecida', details: 'A operação solicitada não é válida para o recurso do Evolution Bot', code: 'INVALID_OPERATION', timestamp: new Date().toISOString(), }, }; throw new n8n_workflow_1.NodeOperationError(ef.getNode(), errorData.error.message, { message: errorData.error.message, description: errorData.error.details, }); } const response = await (0, evolutionRequest_1.evolutionRequest)(ef, options); return { json: { success: true, data: response, }, }; } catch (error) { const errorData = { success: false, error: { message: error.message.includes('Could not get parameter') ? 'Parâmetros inválidos ou ausentes' : 'Erro ao configurar Evolution Bot', details: error.message.includes('Could not get parameter') ? 'Verifique se todos os campos obrigatórios foram preenchidos corretamente' : error.message, code: error.code || 'UNKNOWN_ERROR', timestamp: new Date().toISOString(), }, }; if (!ef.continueOnFail()) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), error.message, { message: errorData.error.message, description: errorData.error.details, }); } return { json: errorData, error: errorData, }; } } //# sourceMappingURL=setEvolutionBot.js.map