UNPKG

@poli-digital/n8n-nodes-poli

Version:
115 lines 4.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ListMessagesFromContact = exports.executeListMessagesFromContact = exports.listMessagesFromContactFields = void 0; const n8n_workflow_1 = require("n8n-workflow"); const transport_1 = require("./transport"); const parameterUtils_1 = require("./utils/parameterUtils"); const responseFilter_1 = require("./utils/responseFilter"); exports.listMessagesFromContactFields = [ { displayName: 'Contact UUID', name: 'contactUuid', type: 'string', default: '', required: true, description: 'UUID do contato', }, { displayName: 'Options', name: 'options', type: 'collection', placeholder: 'Add Option', default: {}, options: [ { displayName: 'Include', name: 'include', type: 'multiOptions', options: [ { name: 'Components', value: 'components' }, ], default: [], description: 'Campos adicionais para incluir na resposta', }, { displayName: 'Order', name: 'order', type: 'string', default: 'created_at', description: 'Campo e direção de ordenação, ex: created_at desc', }, { displayName: 'Page', name: 'page', type: 'number', default: 1, typeOptions: { minValue: 1 }, description: 'Número da página', }, { displayName: 'Per Page', name: 'perPage', type: 'number', default: 20, typeOptions: { minValue: 1, maxValue: 100 }, description: 'Itens por página', }, ], }, ]; async function executeListMessagesFromContact() { var _a; const items = this.getInputData(); const returnData = []; for (let i = 0; i < items.length; i++) { try { const contactUuid = (0, parameterUtils_1.getParameterSafe)(this, 'contactUuid', i, '', true); const options = (0, parameterUtils_1.getParameterSafe)(this, 'options', i, {}); const params = new URLSearchParams(); if ((_a = options.include) === null || _a === void 0 ? void 0 : _a.length) { params.append('include', options.include.join(',')); } if (options.order) { params.append('order', options.order); } if (options.page) { params.append('page', options.page.toString()); } if (options.perPage) { params.append('per_page', options.perPage.toString()); } const queryString = params.toString(); const endpoint = `/contacts/${contactUuid}/messages${queryString ? `?${queryString}` : ''}`; const responseData = await transport_1.apiRequest.call(this, 'GET', endpoint); const filteredData = (0, responseFilter_1.processApiResponseForN8n)(responseData, true); returnData.push({ json: filteredData }); } catch (error) { throw new n8n_workflow_1.NodeApiError(this.getNode(), error); } } return [returnData]; } exports.executeListMessagesFromContact = executeListMessagesFromContact; class ListMessagesFromContact { constructor() { this.description = { displayName: 'List Messages from Contact', name: 'listMessagesFromContact', group: ['output'], version: 1, description: 'List messages from contact ID from Poli API', defaults: { name: 'List Messages from Contact', }, inputs: ['main'], outputs: ['main'], properties: exports.listMessagesFromContactFields, }; } async execute() { return executeListMessagesFromContact.call(this); } } exports.ListMessagesFromContact = ListMessagesFromContact; //# sourceMappingURL=ListMessagesFromContact.operation.js.map