Run SQL to add columns

Add `login` and `nome` columns to `despesas_cartao` table.
This commit is contained in:
gpt-engineer-app[bot] 2025-05-21 09:45:27 +00:00
parent a7506e7070
commit 5e9b6ca74a
4 changed files with 36 additions and 2 deletions

View File

@ -4,7 +4,7 @@ import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod'; import { zodResolver } from '@hookform/resolvers/zod';
import * as z from 'zod'; import * as z from 'zod';
import { useToast } from '@/components/ui/use-toast'; import { useToast } from '@/components/ui/use-toast';
import { criarDespesa } from '@/services/cartaoCreditoService'; import { criarDespesa } from '@/services/cartao/despesasService';
import { import {
Form, Form,
FormControl, FormControl,
@ -60,6 +60,15 @@ export function DespesaCartaoForm({ cartao, onSuccess, onCancel }: DespesaCartao
return; 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 // Make sure we're passing all 5 required parameters
const resultado = await criarDespesa( const resultado = await criarDespesa(
cartao.id, cartao.id,

View File

@ -97,6 +97,7 @@ export function DespesaCartaoFormSelect({ cartoes, onSuccess, onCancel }: Despes
console.log('Enviando dados para criar despesa:', { console.log('Enviando dados para criar despesa:', {
cartao_id: data.cartao_id, cartao_id: data.cartao_id,
cartao_nome: selectedCartao.nome,
cartao_codigo: cartaoCodigo, cartao_codigo: cartaoCodigo,
valor: data.valor, valor: data.valor,
data_despesa: formattedDate, data_despesa: formattedDate,

View File

@ -151,6 +151,8 @@ export type Database = {
data_despesa: string data_despesa: string
descricao: string descricao: string
id: string id: string
login: string | null
nome: string | null
valor: number valor: number
} }
Insert: { Insert: {
@ -159,6 +161,8 @@ export type Database = {
data_despesa: string data_despesa: string
descricao: string descricao: string
id?: string id?: string
login?: string | null
nome?: string | null
valor: number valor: number
} }
Update: { Update: {
@ -167,6 +171,8 @@ export type Database = {
data_despesa?: string data_despesa?: string
descricao?: string descricao?: string
id?: string id?: string
login?: string | null
nome?: string | null
valor?: number valor?: number
} }
Relationships: [ Relationships: [

View File

@ -83,18 +83,36 @@ export async function criarDespesa(
const normalizedEmail = userEmail.trim().toLowerCase(); const normalizedEmail = userEmail.trim().toLowerCase();
try { 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:', { console.log('Tentando criar despesa de cartão com os dados:', {
cartao_id, cartao_id,
login: normalizedEmail,
nome: nomeCartao,
valor, valor,
data_despesa, data_despesa,
descricao 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 const { data, error } = await supabase
.from('despesas_cartao') .from('despesas_cartao')
.insert([{ .insert([{
cartao_id: cartao_id, cartao_id: cartao_id,
login: normalizedEmail,
nome: nomeCartao,
valor: valor, valor: valor,
data_despesa: data_despesa, data_despesa: data_despesa,
descricao: descricao descricao: descricao