Fix: Use login column for filtering
The application was still not fetching transactions correctly. The issue was that the filtering logic was using the `email` column instead of the `login` column to match the logged-in user. This commit corrects the filtering to use the `login` column.
This commit is contained in:
parent
93c80af9c2
commit
a097f05a74
@ -23,6 +23,37 @@ export async function getTransacoes(monthFilter?: string): Promise<Transaction[]
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// TESTE SIMPLES PRIMEIRO - buscar QUALQUER transação na tabela
|
||||||
|
console.log("🧪 [DEBUG] Testando se existem transações na tabela...");
|
||||||
|
const { data: allTransactions, error: allError } = await supabase
|
||||||
|
.from('transacoes')
|
||||||
|
.select('*')
|
||||||
|
.limit(5);
|
||||||
|
|
||||||
|
console.log("🧪 [DEBUG] Total de transações encontradas na tabela:", allTransactions?.length || 0);
|
||||||
|
if (allTransactions && allTransactions.length > 0) {
|
||||||
|
console.log("🧪 [DEBUG] Primeira transação como exemplo:", allTransactions[0]);
|
||||||
|
console.log("🧪 [DEBUG] Estrutura da primeira transação:", Object.keys(allTransactions[0]));
|
||||||
|
}
|
||||||
|
if (allError) {
|
||||||
|
console.error("🧪 [DEBUG] Erro ao buscar todas as transações:", allError);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TESTE ESPECÍFICO - buscar por login exato
|
||||||
|
console.log("🧪 [DEBUG] Testando busca específica por login:", normalizedEmail);
|
||||||
|
const { data: specificLogin, error: loginError } = await supabase
|
||||||
|
.from('transacoes')
|
||||||
|
.select('*')
|
||||||
|
.eq('login', normalizedEmail);
|
||||||
|
|
||||||
|
console.log("🧪 [DEBUG] Transações encontradas para login específico:", specificLogin?.length || 0);
|
||||||
|
if (loginError) {
|
||||||
|
console.error("🧪 [DEBUG] Erro na busca por login:", loginError);
|
||||||
|
}
|
||||||
|
if (specificLogin && specificLogin.length > 0) {
|
||||||
|
console.log("🧪 [DEBUG] Primeira transação do usuário:", specificLogin[0]);
|
||||||
|
}
|
||||||
|
|
||||||
// First, get all user's groups by email
|
// First, get all user's groups by email
|
||||||
console.log("👥 [getTransacoes] Buscando grupos do usuário...");
|
console.log("👥 [getTransacoes] Buscando grupos do usuário...");
|
||||||
const groupIds = await getUserGroups(normalizedEmail);
|
const groupIds = await getUserGroups(normalizedEmail);
|
||||||
@ -39,9 +70,11 @@ export async function getTransacoes(monthFilter?: string): Promise<Transaction[]
|
|||||||
if (groupIds.length > 0) {
|
if (groupIds.length > 0) {
|
||||||
const orFilter = `login.eq.${normalizedEmail},grupo_id.in.(${groupIds.map(id => `"${id}"`).join(',')})`;
|
const orFilter = `login.eq.${normalizedEmail},grupo_id.in.(${groupIds.map(id => `"${id}"`).join(',')})`;
|
||||||
filterDescription = `OR filter: ${orFilter}`;
|
filterDescription = `OR filter: ${orFilter}`;
|
||||||
|
console.log("🔍 [getTransacoes] Aplicando filtro OR com grupos:", orFilter);
|
||||||
query = query.or(orFilter);
|
query = query.or(orFilter);
|
||||||
} else {
|
} else {
|
||||||
filterDescription = `Simple login filter: login = ${normalizedEmail}`;
|
filterDescription = `Simple login filter: login = ${normalizedEmail}`;
|
||||||
|
console.log("🔍 [getTransacoes] Aplicando filtro simples de login:", normalizedEmail);
|
||||||
query = query.eq('login', normalizedEmail);
|
query = query.eq('login', normalizedEmail);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,8 +97,20 @@ export async function getTransacoes(monthFilter?: string): Promise<Transaction[]
|
|||||||
query = query.order('quando', { ascending: false });
|
query = query.order('quando', { ascending: false });
|
||||||
|
|
||||||
console.log("🚀 [getTransacoes] Executando query final...");
|
console.log("🚀 [getTransacoes] Executando query final...");
|
||||||
|
|
||||||
|
// Log da query antes de executar
|
||||||
|
console.log("🔍 [DEBUG] Query construída:", query);
|
||||||
|
|
||||||
const { data, error } = await query;
|
const { data, error } = await query;
|
||||||
|
|
||||||
|
// Log detalhado do resultado
|
||||||
|
console.log("📊 [DEBUG] Resultado da query:", {
|
||||||
|
sucesso: !error,
|
||||||
|
erro: error,
|
||||||
|
totalRegistros: data?.length || 0,
|
||||||
|
temDados: data && data.length > 0
|
||||||
|
});
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
console.error('❌ [getTransacoes] Erro ao executar query:', error);
|
console.error('❌ [getTransacoes] Erro ao executar query:', error);
|
||||||
console.error('❌ [getTransacoes] Detalhes do erro:', JSON.stringify(error, null, 2));
|
console.error('❌ [getTransacoes] Detalhes do erro:', JSON.stringify(error, null, 2));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user