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
|
// Para cada cartão, obter o total de despesas
|
||||||
const cartoesComDespesas = await Promise.all(data.map(async (cartao) => {
|
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 || '');
|
const totalDespesas = await getTotalDespesasCartao(cartao.cartao_codigo || '');
|
||||||
return {
|
return {
|
||||||
...cartao,
|
...cartao,
|
||||||
@ -142,6 +143,9 @@ export async function criarCartao(
|
|||||||
// Retornar o cartão criado
|
// Retornar o cartão criado
|
||||||
return {
|
return {
|
||||||
...data[0],
|
...data[0],
|
||||||
|
bandeira: banco,
|
||||||
|
banco: bandeira,
|
||||||
|
cartao_codigo: cartao_codigo,
|
||||||
total_despesas: 0
|
total_despesas: 0
|
||||||
} as CartaoCredito;
|
} as CartaoCredito;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -101,7 +101,13 @@ export async function criarDespesa(
|
|||||||
throw new Error('Não foi possível adicionar a despesa ao cartão');
|
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) {
|
} catch (error) {
|
||||||
console.error('Erro ao criar despesa:', error);
|
console.error('Erro ao criar despesa:', error);
|
||||||
return null;
|
return null;
|
||||||
@ -114,6 +120,12 @@ export async function criarDespesa(
|
|||||||
* @returns Total expenses amount
|
* @returns Total expenses amount
|
||||||
*/
|
*/
|
||||||
export async function getTotalDespesasCartao(cartaoCodigo: string): Promise<number> {
|
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
|
// Obter o email do usuário do localStorage
|
||||||
const userEmail = localStorage.getItem('userEmail');
|
const userEmail = localStorage.getItem('userEmail');
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user