@contaazul/n8n-nodes-contaazul
Version:
Node for integration with Conta Azul API in n8n
1,162 lines • 50.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContaAzul = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const servicos_1 = require("./servicos");
const produtos_1 = require("./produtos");
const categorias_1 = require("./categorias");
const centroCusto_1 = require("./centroCusto");
const pessoas_1 = require("./pessoas");
const financeiro_1 = require("./financeiro");
const vendas_1 = require("./vendas");
const pessoas_2 = require("./pessoas");
class ContaAzul {
constructor() {
this.description = {
displayName: 'Conta Azul API',
name: 'contaAzul',
icon: 'file:contaazul.svg',
group: ['transform'],
version: 1,
description: 'Allows making requests to the Conta Azul API',
defaults: {
name: 'Conta Azul',
},
inputs: ['main'],
outputs: ['main'],
credentials: [
{
name: 'contaAzulOAuth2Api',
required: true,
},
],
properties: [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
options: [
{ name: 'Create Person', value: 'createPerson' },
{ name: 'Create Product', value: 'createProduct' },
{ name: 'Create Sale', value: 'createSale' },
{ name: 'Create Service', value: 'createService' },
{ name: 'Search Categories', value: 'getCategories' },
{ name: 'Search Cost Centers', value: 'getCostCenters' },
{ name: 'Search Expenses By Filter', value: 'getExpensesByFilter' },
{ name: 'Search Financial Accounts', value: 'getFinancialAccounts' },
{ name: 'Search Installment By ID', value: 'getInstallmentById' },
{ name: 'Search Person By ID', value: 'getPersonById' },
{ name: 'Search Persons By Filter', value: 'getPersonsByFilter' },
{ name: 'Search Product By ID', value: 'getProductById' },
{ name: 'Search Products By Filter', value: 'getProductsByFilter' },
{ name: 'Search Revenues By Filter', value: 'getRevenuesByFilter' },
{ name: 'Search Sale By ID', value: 'getSaleById' },
{ name: 'Search Sales By Filter', value: 'getSalesByFilter' },
{ name: 'Search Service By ID', value: 'getServiceById' },
{ name: 'Search Services By Filter', value: 'getAllServices' },
],
default: 'getAllServices',
},
{
displayName: 'Product ID',
name: 'productId',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['getProductById'],
},
},
default: '',
description: 'Product ID (UUID)',
},
{
displayName: 'Service ID',
name: 'serviceId',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['getServiceById'],
},
},
default: '',
description: 'Service ID to search for',
},
{
displayName: 'Description',
name: 'descricao',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['createService'],
},
},
default: '',
description: 'Service description',
},
{
displayName: 'Additional Fields (Service)',
name: 'serviceAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getAllServices'],
},
},
options: [
{
displayName: 'Text Search',
name: 'busca_textual',
type: 'string',
default: '',
description: 'Text search by name, code or service description',
},
{
displayName: 'Page',
name: 'pagina',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Additional Fields (Sale)',
name: 'saleAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getSalesByFilter'],
},
},
options: [
{
displayName: 'Text Search (Sale)',
name: 'busca_textual_venda',
type: 'string',
default: '',
description: 'Text search by customer name, sale number or customer email',
},
{
displayName: 'Page',
name: 'pagina_venda',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_venda',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Sale ID',
name: 'saleId',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['getSaleById'],
},
},
default: '',
description: 'Sale ID (UUID) to search for',
},
{
displayName: 'Additional Fields (Person Search)',
name: 'personSearchAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getPersonsByFilter'],
},
},
options: [
{
displayName: 'Search Term',
name: 'termo_busca',
type: 'string',
default: '',
description: 'Search by document, customer name or company name',
},
{
displayName: 'Page',
name: 'pagina_pessoa',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_pessoa',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Additional Fields (Service Creation)',
name: 'serviceCreateAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['createService'],
},
},
options: [
{
displayName: 'Code',
name: 'codigo',
type: 'string',
default: '',
description: 'Service code (e.g., SERV001)',
},
{
displayName: 'Cost',
name: 'custo',
type: 'number',
default: 0,
description: 'Service cost',
},
{
displayName: 'Price',
name: 'preco',
type: 'number',
default: 0,
description: 'Service price',
},
{
displayName: 'Service Type',
name: 'tipo_servico',
type: 'string',
default: 'PRESTADO',
description: 'Service type (for example: PRESTADO)',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
options: [
{ name: 'Active', value: 'ATIVO' },
{ name: 'Inactive', value: 'INATIVO' },
],
default: 'ATIVO',
},
],
},
{
displayName: 'Person ID',
name: 'personId',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['getPersonById'],
},
},
default: '',
description: 'Person ID (UUID) to search for summary',
},
{
displayName: 'Additional Fields (Cost Center)',
name: 'costCenterAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getCostCenters'],
},
},
options: [
{
displayName: 'Search',
name: 'busca_centro',
type: 'string',
default: '',
description: 'Search by name or cost center code',
},
{
displayName: 'Quick Filter',
name: 'filtro_rapido',
type: 'options',
options: [
{ name: 'Active', value: 'ATIVO' },
{ name: 'Inactive', value: 'INATIVO' },
{ name: 'All', value: 'TODOS' },
],
default: 'ATIVO',
description: 'Filter cost centers by status',
},
{
displayName: 'Page',
name: 'pagina_centro',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_centro',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Additional Fields (Category)',
name: 'categoryAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getCategories'],
},
},
options: [
{
displayName: 'Search (Category)',
name: 'busca_categoria',
type: 'string',
default: '',
description: 'Search by name or category code',
},
{
displayName: 'Type',
name: 'tipo_categoria',
type: 'options',
options: [
{ name: 'Revenue', value: 'RECEITA' },
{ name: 'Expense', value: 'DESPESA' },
],
default: 'RECEITA',
description: 'Category type',
},
{
displayName: 'Page',
name: 'pagina_categoria',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_categoria',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Additional Fields (Financial Account)',
name: 'financialAccountAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getFinancialAccounts'],
},
},
options: [
{
displayName: 'Financial Account Name',
name: 'nome_conta',
type: 'string',
default: '',
},
{
displayName: 'Financial Account Types',
name: 'tipos',
type: 'multiOptions',
options: [
{ name: 'Cash Box', value: 'CAIXINHA' },
{ name: 'Checking Account', value: 'CONTA_CORRENTE' },
{ name: 'Conta Azul Charges', value: 'COBRANCAS_CONTA_AZUL' },
{ name: 'Credit Card', value: 'CARTAO_CREDITO' },
{ name: 'Investment', value: 'INVESTIMENTO' },
{ name: 'Investment Account', value: 'APLICACAO' },
{ name: 'Other', value: 'OUTROS' },
{ name: 'Payment Methods', value: 'MEIOS_RECEBIMENTO' },
{ name: 'Receba Fácil Card', value: 'RECEBA_FACIL_CARTAO' },
{ name: 'Savings Account', value: 'POUPANCA' },
],
default: [],
},
{
displayName: 'Only Active',
name: 'apenas_ativo',
type: 'boolean',
default: true,
description: 'Whether to filter only active accounts',
},
{
displayName: 'Page',
name: 'pagina_conta',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_conta',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Additional Fields (Product)',
name: 'productAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getProductsByFilter'],
},
},
options: [
{
displayName: 'Page',
name: 'pagina_produto',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_produto',
type: 'number',
default: 10,
description: 'Number of items per page',
},
{
displayName: 'Search (Product)',
name: 'busca_produto',
type: 'string',
default: '',
description: 'Search products by name or code',
},
{
displayName: 'Sort Direction',
name: 'direcao_ordenacao',
type: 'options',
options: [
{ name: 'Ascending', value: 'ASC' },
{ name: 'Descending', value: 'DESC' },
],
default: 'ASC',
},
{
displayName: 'Sort Field',
name: 'campo_ordenacao',
type: 'options',
options: [
{ name: 'Code', value: 'CODIGO' },
{ name: 'Name', value: 'NOME' },
{ name: 'Sale Value', value: 'VALOR_VENDA' },
],
default: 'NOME',
description: 'Field to order results',
},
{
displayName: 'Status',
name: 'status_produto',
type: 'options',
options: [
{ name: 'Active', value: 'ATIVO' },
{ name: 'Inactive', value: 'INATIVO' },
],
default: 'ATIVO',
description: 'Product status',
},
],
},
{
displayName: 'Additional Fields (Revenue)',
name: 'revenueAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getRevenuesByFilter'],
},
},
options: [
{
displayName: 'Search (Revenue)',
name: 'busca_receita',
type: 'string',
default: '',
description: 'Search revenues by name, number, etc',
},
{
displayName: 'Page',
name: 'pagina_receita',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_receita',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Due Date (From)',
name: 'data_vencimento_de',
type: 'dateTime',
required: true,
displayOptions: {
show: {
operation: ['getRevenuesByFilter'],
},
},
default: '',
description: 'Initial due date (format YYYY-MM-DD, required)',
},
{
displayName: 'Due Date (Until)',
name: 'data_vencimento_ate',
type: 'dateTime',
required: true,
displayOptions: {
show: {
operation: ['getRevenuesByFilter'],
},
},
default: '',
description: 'Final due date (format YYYY-MM-DD, required)',
},
{
displayName: 'Additional Fields (Expense)',
name: 'expenseAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['getExpensesByFilter'],
},
},
options: [
{
displayName: 'Search (Expense)',
name: 'busca_despesa',
type: 'string',
default: '',
description: 'Search expenses by name, number, etc',
},
{
displayName: 'Page',
name: 'pagina_despesa',
type: 'number',
default: 1,
description: 'Page number',
},
{
displayName: 'Page Size',
name: 'tamanho_pagina_despesa',
type: 'number',
default: 10,
description: 'Number of items per page',
},
],
},
{
displayName: 'Due Date (From)',
name: 'data_vencimento_de_despesa',
type: 'dateTime',
required: true,
displayOptions: {
show: {
operation: ['getExpensesByFilter'],
},
},
default: '',
description: 'Initial due date (format YYYY-MM-DD, required)',
},
{
displayName: 'Due Date (Until)',
name: 'data_vencimento_ate_despesa',
type: 'dateTime',
required: true,
displayOptions: {
show: {
operation: ['getExpensesByFilter'],
},
},
default: '',
description: 'Final due date (format YYYY-MM-DD, required)',
},
{
displayName: 'Installment ID',
name: 'installmentId',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['getInstallmentById'],
},
},
default: '',
description: 'Installment ID (UUID) to search for',
},
{
displayName: 'Product Name',
name: 'nome',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['createProduct'],
},
},
default: '',
},
{
displayName: 'Additional Fields (Product Creation)',
name: 'productCreateAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['createProduct'],
},
},
options: [
{
displayName: 'Average Cost',
name: 'custo_medio',
type: 'number',
default: 0,
description: 'Product average cost',
},
{
displayName: 'Depth (Cm)',
name: 'profundidade',
type: 'number',
default: 0,
description: 'Product depth in centimeters',
},
{
displayName: 'EAN',
name: 'codigo_ean',
type: 'string',
default: '',
description: 'Product EAN code',
},
{
displayName: 'Format',
name: 'formato',
type: 'options',
options: [{ name: 'Simples', value: 'SIMPLES' }],
default: 'SIMPLES',
description: 'Product format',
},
{
displayName: 'Height (Cm)',
name: 'altura',
type: 'number',
default: 0,
description: 'Product height in centimeters',
},
{
displayName: 'Maximum Stock',
name: 'estoque_maximo',
type: 'number',
default: 0,
description: 'Product maximum stock',
},
{
displayName: 'Minimum Stock',
name: 'estoque_minimo',
type: 'number',
default: 0,
description: 'Product minimum stock',
},
{
displayName: 'Observation',
name: 'observacao',
type: 'string',
default: '',
description: 'Product observation',
},
{
displayName: 'Sale Value',
name: 'valor_venda',
type: 'number',
default: 0,
description: 'Product sale value',
},
{
displayName: 'SKU',
name: 'codigo_sku',
type: 'string',
default: '',
description: 'Product SKU code',
},
{
displayName: 'Stock Quantity',
name: 'estoque_disponivel',
type: 'number',
default: 0,
description: 'Total stock quantity',
},
{
displayName: 'Width (Cm)',
name: 'largura',
type: 'number',
default: 0,
description: 'Product width in centimeters',
},
],
},
{
displayName: 'Person Type',
name: 'tipo_pessoa',
type: 'options',
options: [
{ name: 'Individual', value: 'Física' },
{ name: 'Legal Entity', value: 'Jurídica' },
{ name: 'Foreign', value: 'Estrangeira' },
],
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: 'Física',
},
{
displayName: 'Name',
name: 'nome',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
},
{
displayName: 'Profiles',
name: 'tipo_perfil',
type: 'multiOptions',
options: [
{ name: 'Customer', value: 'Cliente' },
{ name: 'Supplier', value: 'Fornecedor' },
{ name: 'Carrier', value: 'Transportadora' },
],
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: [],
},
{
displayName: 'CEP',
name: 'cep',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
},
{
displayName: 'Street',
name: 'logradouro',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
},
{
displayName: 'Number',
name: 'numero',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
},
{
displayName: 'Neighborhood',
name: 'bairro',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
},
{
displayName: 'City',
name: 'cidade',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
},
{
displayName: 'State',
name: 'estado',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: '',
description: 'State of the address Example: SP, RJ, MG',
},
{
displayName: 'Additional Fields (Person)',
name: 'personAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['createPerson'],
},
},
options: [
{
displayName: 'Email',
name: 'email',
type: 'string',
placeholder: 'name@example.com',
default: '',
},
{
displayName: 'Phone',
name: 'telefone',
type: 'string',
default: '',
},
{
displayName: 'Complement',
name: 'complemento',
type: 'string',
default: '',
},
],
},
{
displayName: 'CPF',
name: 'cpf',
type: 'string',
displayOptions: {
show: {
operation: ['createPerson'],
tipo_pessoa: ['Física'],
},
},
default: '',
description: 'CPF of the physical person',
},
{
displayName: 'CNPJ',
name: 'cnpj',
type: 'string',
displayOptions: {
show: {
operation: ['createPerson'],
tipo_pessoa: ['Jurídica'],
},
},
default: '',
description: 'CNPJ of the legal person',
},
{
displayName: 'Country',
name: 'pais',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createPerson'] } },
default: 'Brasil',
description: 'Address country (fixed Brasil)',
},
{
displayName: 'Client ID',
name: 'id_cliente',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: '',
description: 'UUID of the client associated with the sale',
},
{
displayName: 'Sale Number',
name: 'numero',
type: 'number',
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: 1,
},
{
displayName: 'Sale Date',
name: 'data_venda',
type: 'dateTime',
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: '',
description: 'Sale date (format YYYY-MM-DDTHH:mm:ssZ)',
},
{
displayName: 'Payment Condition Option',
name: 'opcao_condicao_pagamento',
type: 'string',
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: '',
description: 'Ex: À vista, 3x, 30,60,90, etc',
},
{
displayName: 'Installments',
name: 'parcelas',
type: 'fixedCollection',
typeOptions: {
multipleValues: true,
},
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: {},
options: [
{
name: 'parcela',
displayName: 'Installment',
values: [
{
displayName: 'Due Date',
name: 'data_vencimento',
type: 'dateTime',
required: true,
default: '',
},
{
displayName: 'Value',
name: 'valor',
type: 'number',
required: true,
default: 0,
},
{
displayName: 'Description',
name: 'descricao',
type: 'string',
default: '',
},
],
},
],
description: 'Sale installments',
},
{
displayName: 'Payment Method',
name: 'tipo_pagamento',
type: 'options',
options: [
{ name: 'Auto Debit', value: 'DEBITO_AUTOMATICO' },
{ name: 'Bank Deposit', value: 'DEPOSITO_BANCARIO' },
{ name: 'Bank Slip', value: 'BOLETO_BANCARIO' },
{ name: 'Bank Transfer', value: 'TRANSFERENCIA_BANCARIA' },
{ name: 'Cash', value: 'DINHEIRO' },
{ name: 'Cashback', value: 'CASHBACK' },
{ name: 'Check', value: 'CHEQUE' },
{ name: 'Credit Card', value: 'CARTAO_CREDITO' },
{ name: 'Credit Card via Link', value: 'CARTAO_CREDITO_VIA_LINK' },
{ name: 'Debit Card', value: 'CARTAO_DEBITO' },
{ name: 'Digital Wallet', value: 'CARTEIRA_DIGITAL' },
{ name: 'Food Voucher', value: 'VALE_REFEICAO' },
{ name: 'Fuel Voucher', value: 'VALE_COMBUSTIVEL' },
{ name: 'Gift Card', value: 'VALE_PRESENTE' },
{ name: 'Instant PIX', value: 'PIX_PAGAMENTO_INSTANTANEO' },
{ name: 'Loyalty Program', value: 'PROGRAMA_FIDELIDADE' },
{ name: 'Meal Voucher', value: 'VALE_ALIMENTACAO' },
{ name: 'No Payment', value: 'SEM_PAGAMENTO' },
{ name: 'Other', value: 'OUTRO' },
{ name: 'PIX Invoice', value: 'PIX_COBRANCA' },
{ name: 'Store Credit', value: 'CREDITO_LOJA' },
{ name: 'Virtual Credit', value: 'CREDITO_VIRTUAL' },
],
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: 'DINHEIRO',
},
{
displayName: 'Status',
name: 'situacao',
type: 'options',
options: [
{ name: 'In Progress', value: 'EM_ANDAMENTO' },
{ name: 'Approved', value: 'APROVADO' },
],
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: 'EM_ANDAMENTO',
description: 'Sale status',
},
{
displayName: 'Additional Fields (Sale Creation)',
name: 'saleCreateAdditionalFields',
type: 'collection',
placeholder: 'Add field',
default: {},
displayOptions: {
show: {
operation: ['createSale'],
},
},
options: [
{
displayName: 'Observations',
name: 'observacoes',
type: 'string',
default: '',
description: 'Sale observations',
},
{
displayName: 'Payment Observations',
name: 'observacoes_pagamento',
type: 'string',
default: '',
},
],
},
{
displayName: 'Items',
name: 'itens',
type: 'fixedCollection',
typeOptions: {
multipleValues: true,
},
required: true,
displayOptions: { show: { operation: ['createSale'] } },
default: {},
options: [
{
name: 'item',
displayName: 'Item',
values: [
{
displayName: 'Product/Service ID',
name: 'id',
type: 'string',
required: true,
default: '',
},
{
displayName: 'Description',
name: 'descricao',
type: 'string',
required: true,
default: '',
},
{
displayName: 'Quantity',
name: 'quantidade',
type: 'number',
required: true,
default: 1,
},
{
displayName: 'Value',
name: 'valor',
type: 'number',
required: true,
default: 0,
},
],
},
],
description: 'Sale items',
},
],
};
}
async execute() {
const items = this.getInputData();
const returnData = [];
for (let i = 0; i < items.length; i++) {
const operation = this.getNodeParameter('operation', i);
try {
let result = [];
if (operation === 'getAllServices') {
result = (await servicos_1.getAllServices.call(this));
}
else if (operation === 'getServiceById') {
result = (await servicos_1.getServiceById.call(this));
}
else if (operation === 'createService') {
result = (await servicos_1.createService.call(this));
}
else if (operation === 'getSalesByFilter') {
result = (await vendas_1.getSalesByFilter.call(this));
}
else if (operation === 'getSaleById') {
result = (await vendas_1.getSaleById.call(this));
}
else if (operation === 'getPersonsByFilter') {
result = (await pessoas_1.getPersonsByFilter.call(this));
}
else if (operation === 'getPersonById') {
result = (await pessoas_1.getPersonById.call(this));
}
else if (operation === 'getCostCenters') {
result = (await centroCusto_1.getCostCenters.call(this));
}
else if (operation === 'getCategories') {
result = (await categorias_1.getCategories.call(this));
}
else if (operation === 'getFinancialAccounts') {
result = (await financeiro_1.getFinancialAccounts.call(this));
}
else if (operation === 'getProductById') {
result = (await produtos_1.getProductById.call(this));
}
else if (operation === 'getProductsByFilter') {
result = (await produtos_1.getProductsByFilter.call(this));
}
else if (operation === 'getRevenuesByFilter') {
result = (await financeiro_1.getRevenuesByFilter.call(this));
}
else if (operation === 'getExpensesByFilter') {
result = (await financeiro_1.getExpensesByFilter.call(this));
}
else if (operation === 'getInstallmentById') {
result = (await financeiro_1.getInstallmentById.call(this));
}
else if (operation === 'createProduct') {
result = (await produtos_1.createProduct.call(this));
}
else if (operation === 'createPerson') {
result = (await pessoas_2.createPerson.call(this));
}
else if (operation === 'createSale') {
result = (await vendas_1.createSale.call(this));
}
else {
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Operation not supported');
}
for (const outputItem of resu