From 5e9b6ca74affe0c4258ac7f328f76bc87d41fff0 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 09:45:27 +0000 Subject: [PATCH] Run SQL to add columns Add `login` and `nome` columns to `despesas_cartao` table. --- src/components/credito/DespesaCartaoForm.tsx | 11 +++++++++- .../credito/DespesaCartaoFormSelect.tsx | 1 + src/integrations/supabase/types.ts | 6 ++++++ src/services/cartao/despesasService.ts | 20 ++++++++++++++++++- 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/components/credito/DespesaCartaoForm.tsx b/src/components/credito/DespesaCartaoForm.tsx index d7063f8..beab68f 100644 --- a/src/components/credito/DespesaCartaoForm.tsx +++ b/src/components/credito/DespesaCartaoForm.tsx @@ -4,7 +4,7 @@ import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import * as z from 'zod'; import { useToast } from '@/components/ui/use-toast'; -import { criarDespesa } from '@/services/cartaoCreditoService'; +import { criarDespesa } from '@/services/cartao/despesasService'; import { Form, FormControl, @@ -60,6 +60,15 @@ export function DespesaCartaoForm({ cartao, onSuccess, onCancel }: DespesaCartao return; } + console.log('Enviando dados para registro de despesa:', { + cartao_id: cartao.id, + cartao_nome: cartao.nome, + cartao_codigo: cartao.cartao_codigo, + valor: valorNumerico, + data: data.data_despesa, + descricao: data.descricao + }); + // Make sure we're passing all 5 required parameters const resultado = await criarDespesa( cartao.id, diff --git a/src/components/credito/DespesaCartaoFormSelect.tsx b/src/components/credito/DespesaCartaoFormSelect.tsx index b5a2c43..ecc0905 100644 --- a/src/components/credito/DespesaCartaoFormSelect.tsx +++ b/src/components/credito/DespesaCartaoFormSelect.tsx @@ -97,6 +97,7 @@ export function DespesaCartaoFormSelect({ cartoes, onSuccess, onCancel }: Despes console.log('Enviando dados para criar despesa:', { cartao_id: data.cartao_id, + cartao_nome: selectedCartao.nome, cartao_codigo: cartaoCodigo, valor: data.valor, data_despesa: formattedDate, diff --git a/src/integrations/supabase/types.ts b/src/integrations/supabase/types.ts index 1459497..3bb7204 100644 --- a/src/integrations/supabase/types.ts +++ b/src/integrations/supabase/types.ts @@ -151,6 +151,8 @@ export type Database = { data_despesa: string descricao: string id: string + login: string | null + nome: string | null valor: number } Insert: { @@ -159,6 +161,8 @@ export type Database = { data_despesa: string descricao: string id?: string + login?: string | null + nome?: string | null valor: number } Update: { @@ -167,6 +171,8 @@ export type Database = { data_despesa?: string descricao?: string id?: string + login?: string | null + nome?: string | null valor?: number } Relationships: [ diff --git a/src/services/cartao/despesasService.ts b/src/services/cartao/despesasService.ts index 3bd7293..b4fb502 100644 --- a/src/services/cartao/despesasService.ts +++ b/src/services/cartao/despesasService.ts @@ -83,18 +83,36 @@ export async function criarDespesa( const normalizedEmail = userEmail.trim().toLowerCase(); try { + // Obter o nome do cartão diretamente da tabela cartoes_credito + const { data: cartaoData, error: cartaoError } = await supabase + .from('cartoes_credito') + .select('nome') + .eq('id', cartao_id) + .single(); + + if (cartaoError || !cartaoData) { + console.error('Erro ao obter nome do cartão:', cartaoError); + return null; + } + + const nomeCartao = cartaoData.nome; + console.log('Tentando criar despesa de cartão com os dados:', { cartao_id, + login: normalizedEmail, + nome: nomeCartao, valor, data_despesa, descricao }); - // IMPORTANTE: Removemos os campos login e user_id que não existem na tabela despesas_cartao + // Inserir registro com as novas colunas login e nome const { data, error } = await supabase .from('despesas_cartao') .insert([{ cartao_id: cartao_id, + login: normalizedEmail, + nome: nomeCartao, valor: valor, data_despesa: data_despesa, descricao: descricao