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.
This commit is contained in:
parent
18e751ca31
commit
1c529d1310
@ -34,6 +34,7 @@ export async function getCartoes(): Promise<CartaoCredito[]> {
|
||||
|
||||
// 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) {
|
||||
|
||||
@ -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<number> {
|
||||
// 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');
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user