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 * 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,

View File

@ -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,

View File

@ -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: [

View File

@ -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