diff --git a/src/services/cartao/cartoesService.ts b/src/services/cartao/cartoesService.ts index 7ba0479..5a6e567 100644 --- a/src/services/cartao/cartoesService.ts +++ b/src/services/cartao/cartoesService.ts @@ -34,6 +34,7 @@ export async function getCartoes(): Promise { // Para cada cartão, obter o total de despesas const cartoesComDespesas = await Promise.all(data.map(async (cartao) => { + // Use optional chaining to safely access potentially missing properties const totalDespesas = await getTotalDespesasCartao(cartao.cartao_codigo || ''); return { ...cartao, @@ -142,6 +143,9 @@ export async function criarCartao( // Retornar o cartão criado return { ...data[0], + bandeira: banco, + banco: bandeira, + cartao_codigo: cartao_codigo, total_despesas: 0 } as CartaoCredito; } catch (error) { diff --git a/src/services/cartao/despesasService.ts b/src/services/cartao/despesasService.ts index 9f3b72e..6577c4f 100644 --- a/src/services/cartao/despesasService.ts +++ b/src/services/cartao/despesasService.ts @@ -101,7 +101,13 @@ export async function criarDespesa( throw new Error('Não foi possível adicionar a despesa ao cartão'); } - return data[0] as DespesaCartao; + // Adicionar cartao_codigo se não existir no resultado + const despesaCompleta = { + ...data[0], + cartao_codigo: data[0].cartao_codigo || cartao_codigo + } as DespesaCartao; + + return despesaCompleta; } catch (error) { console.error('Erro ao criar despesa:', error); return null; @@ -114,6 +120,12 @@ export async function criarDespesa( * @returns Total expenses amount */ export async function getTotalDespesasCartao(cartaoCodigo: string): Promise { + // Check if cartaoCodigo is empty + if (!cartaoCodigo) { + console.error('Código do cartão não fornecido'); + return 0; + } + // Obter o email do usuário do localStorage const userEmail = localStorage.getItem('userEmail');