UNPKG

n8n-nodes-evolution-api

Version:
169 lines 6.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setDifyBot = setDifyBot; const n8n_workflow_1 = require("n8n-workflow"); const evolutionRequest_1 = require("../evolutionRequest"); async function setDifyBot(ef) { try { const instanceName = ef.getNodeParameter('instanceName', 0); const resourceForDifyBot = ef.getNodeParameter('resourceForDifyBot', 0); let options; if (resourceForDifyBot === 'createDify') { const apiUrl = ef.getNodeParameter('apiUrl', 0); const apiKey = ef.getNodeParameter('apiKey', 0); const botType = ef.getNodeParameter('botType', 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, botType, triggerType, triggerOperator, triggerValue, expire, keywordFinish, delayMessage, unknownMessage, listeningFromMe, stopBotFromMe, keepOpen, debounceTime, ignoreJids: ignoreJids || [] }; options = { method: 'POST', uri: `/dify/create/${instanceName}`, body, json: true, }; } else if (resourceForDifyBot === 'findDify') { const difyBotId = ef.getNodeParameter('difyBotId', 0); options = { method: 'GET', uri: difyBotId ? `/dify/fetch/${difyBotId}/${instanceName}` : `/dify/find/${instanceName}`, json: true, }; } else if (resourceForDifyBot === 'deleteDify') { const difyBotId = ef.getNodeParameter('difyBotId', 0); options = { method: 'DELETE', uri: `/dify/delete/${difyBotId}/${instanceName}`, json: true, }; } else if (resourceForDifyBot === 'updateDify') { const difyBotId = ef.getNodeParameter('difyBotId', 0); const apiUrl = ef.getNodeParameter('apiUrl', 0); const apiKey = ef.getNodeParameter('apiKeyBot', 0); const botType = ef.getNodeParameter('botType', 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, botType, apiUrl, apiKey, triggerType, triggerOperator, triggerValue, expire, keywordFinish, delayMessage, unknownMessage, listeningFromMe, stopBotFromMe, keepOpen, debounceTime, ignoreJids: ignoreJids || [] }; options = { method: 'PUT', uri: `/dify/update/${difyBotId}/${instanceName}`, body, json: true, }; } else if (resourceForDifyBot === 'fetchSessionsDify') { const difyBotId = ef.getNodeParameter('difyBotId', 0); options = { method: 'GET', uri: `/dify/fetchSessions/${difyBotId}/${instanceName}`, json: true, }; } else { const errorData = { success: false, error: { message: 'Operação do Dify não reconhecida', details: 'A operação solicitada não é válida para o recurso do Dify', 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 Dify', 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=setDifyBot.js.map