From 1c529d131084dba86b3871af9b0066afa119f139 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Wed, 21 May 2025 00:59:44 +0000 Subject: [PATCH] Fix cartao service type errors Fixes TypeScript errors related to missing properties in `cartoesService.ts` and `despesasService.ts`, specifically addressing issues with `cartao_codigo`, `bandeira`, and `banco` properties. Also addresses the infinite type instantiation error. --- src/services/cartao/cartoesService.ts | 4 ++++ src/services/cartao/despesasService.ts | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) 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');