UNPKG

@contaazul/n8n-nodes-contaazul

Version:

Node for integration with Conta Azul API in n8n

118 lines 4.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFinancialAccounts = getFinancialAccounts; exports.getRevenuesByFilter = getRevenuesByFilter; exports.getExpensesByFilter = getExpensesByFilter; exports.getInstallmentById = getInstallmentById; const utils_1 = require("./utils"); async function getFinancialAccounts() { const nome = this.getNodeParameter('financialAccountAdditionalFields.nome_conta', 0, ''); const tipos = this.getNodeParameter('financialAccountAdditionalFields.tipos', 0, []); const apenas_ativo = this.getNodeParameter('financialAccountAdditionalFields.apenas_ativo', 0, true); const pagina = this.getNodeParameter('financialAccountAdditionalFields.pagina_conta', 0, 1); const tamanho_pagina = this.getNodeParameter('financialAccountAdditionalFields.tamanho_pagina_conta', 0, 10); const qs = { pagina, tamanho_pagina, apenas_ativo, }; if (nome) { qs.nome = nome; } if (tipos && tipos.length > 0) { qs.tipos = tipos; } const responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'contaAzulOAuth2Api', { method: 'GET', url: 'https://api-v2.contaazul.com/v1/conta-financeira', qs, json: true, }); const dataArray = Array.isArray(responseData) ? responseData : [responseData]; const items = dataArray.map((item) => ({ json: item, pairedItem: { item: 0, }, })); return items; } async function getRevenuesByFilter() { const busca = this.getNodeParameter('revenueAdditionalFields.busca_receita', 0, ''); const pagina = this.getNodeParameter('revenueAdditionalFields.pagina_receita', 0, 1); const tamanho_pagina = this.getNodeParameter('revenueAdditionalFields.tamanho_pagina_receita', 0, 10); const data_vencimento_de_raw = this.getNodeParameter('data_vencimento_de', 0); const data_vencimento_ate_raw = this.getNodeParameter('data_vencimento_ate', 0); const data_vencimento_de = (0, utils_1.toYYYYMMDD)(data_vencimento_de_raw); const data_vencimento_ate = (0, utils_1.toYYYYMMDD)(data_vencimento_ate_raw); const qs = { pagina, tamanho_pagina, data_vencimento_de, data_vencimento_ate, }; if (busca) { qs.busca = busca; } const responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'contaAzulOAuth2Api', { method: 'GET', url: 'https://api-v2.contaazul.com/v1/financeiro/eventos-financeiros/contas-a-receber/buscar', qs, json: true, }); const items = (responseData.itens || []).map((item) => ({ json: item, pairedItem: { item: 0, }, })); return items; } async function getExpensesByFilter() { const busca = this.getNodeParameter('expenseAdditionalFields.busca_despesa', 0, ''); const pagina = this.getNodeParameter('expenseAdditionalFields.pagina_despesa', 0, 1); const tamanho_pagina = this.getNodeParameter('expenseAdditionalFields.tamanho_pagina_despesa', 0, 10); const data_vencimento_de_raw = this.getNodeParameter('data_vencimento_de_despesa', 0); const data_vencimento_ate_raw = this.getNodeParameter('data_vencimento_ate_despesa', 0); const data_vencimento_de = (0, utils_1.toYYYYMMDD)(data_vencimento_de_raw); const data_vencimento_ate = (0, utils_1.toYYYYMMDD)(data_vencimento_ate_raw); const qs = { pagina, tamanho_pagina, data_vencimento_de, data_vencimento_ate, }; if (busca) { qs.busca = busca; } const responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'contaAzulOAuth2Api', { method: 'GET', url: 'https://api-v2.contaazul.com/v1/financeiro/eventos-financeiros/contas-a-pagar/buscar', qs, json: true, }); const items = (responseData.itens || []).map((item) => ({ json: item, pairedItem: { item: 0, }, })); return items; } async function getInstallmentById() { const installmentId = this.getNodeParameter('installmentId', 0); const responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'contaAzulOAuth2Api', { method: 'GET', url: `https://api-v2.contaazul.com/v1/financeiro/eventos-financeiros/parcelas/${installmentId}`, json: true, }); return [ { json: responseData, pairedItem: { item: 0, }, }, ]; } //# sourceMappingURL=financeiro.js.map