UNPKG

n8n-nodes-evolution-api

Version:
89 lines 3.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sendPoll = sendPoll; const n8n_workflow_1 = require("n8n-workflow"); const evolutionRequest_1 = require("../evolutionRequest"); async function sendPoll(ef) { var _a, _b; try { const instanceName = ef.getNodeParameter('instanceName', 0); const remoteJid = ef.getNodeParameter('remoteJid', 0); const pollTitle = ef.getNodeParameter('caption', 0); const options = ef.getNodeParameter('options_display.metadataValues', 0); const options_message = ef.getNodeParameter('options_message', 0, {}); const pollOptions = Array.isArray(options) ? options.map((option) => option.optionValue) : []; if (pollOptions.length === 0) { const errorData = { success: false, error: { message: 'Opções da enquete inválidas', details: 'A enquete precisa ter pelo menos uma opção', code: 'INVALID_POLL_OPTIONS', timestamp: new Date().toISOString(), }, }; return { json: errorData, error: errorData, }; } const body = { number: remoteJid, name: pollTitle, selectableCount: 1, values: pollOptions, }; if (options_message.delay) { body.delay = options_message.delay; } if ((_b = (_a = options_message.quoted) === null || _a === void 0 ? void 0 : _a.messageQuoted) === null || _b === void 0 ? void 0 : _b.messageId) { body.quoted = { key: { id: options_message.quoted.messageQuoted.messageId, }, }; } const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', }, uri: `/message/sendPoll/${instanceName}`, body, json: true, }; const response = await (0, evolutionRequest_1.evolutionRequest)(ef, requestOptions); 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 enviar enquete', 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=sendPoll.js.map