@contaazul/n8n-nodes-contaazul
Version:
Node for integration with Conta Azul API in n8n
118 lines • 4.62 kB
JavaScript
"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