diff --git a/src/components/whatsappGroups/CreateGroupForm.tsx b/src/components/whatsappGroups/CreateGroupForm.tsx index 72c4b7f..64f4b0b 100644 --- a/src/components/whatsappGroups/CreateGroupForm.tsx +++ b/src/components/whatsappGroups/CreateGroupForm.tsx @@ -39,9 +39,21 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { setCheckingInstance(true); try { + console.log('=== VERIFICAÇÃO DE INSTÂNCIA ==='); console.log('Verificando instância para o usuário:', userEmail); + const instanceData = await getUserWhatsAppInstance(userEmail); - console.log('Dados da instância do usuário:', instanceData); + console.log('=== DADOS DA INSTÂNCIA RETORNADOS ==='); + console.log('Dados completos:', JSON.stringify(instanceData, null, 2)); + + if (instanceData) { + console.log('=== VERIFICAÇÃO DETALHADA ==='); + console.log('instancia_zap existe?', !!instanceData.instancia_zap); + console.log('instancia_zap valor:', instanceData.instancia_zap); + console.log('instancia_zap não é vazio?', instanceData.instancia_zap?.trim() !== ''); + console.log('status_instancia valor:', instanceData.status_instancia); + console.log('status_instancia é "conectado"?', instanceData.status_instancia === 'conectado'); + } // LÓGICA CORRETA: Verificar se tem instância E se está conectada const hasValidInstance = !!( @@ -51,14 +63,17 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { instanceData.status_instancia === 'conectado' // DEVE ESTAR CONECTADO ); + console.log('=== RESULTADO DA VALIDAÇÃO ==='); + console.log('hasValidInstance:', hasValidInstance); + if (hasValidInstance) { setHasWhatsAppInstance(true); setUserInstance(instanceData); - console.log('Usuário tem instância WhatsApp conectada - liberando cadastro de grupo'); + console.log('✅ Usuário tem instância WhatsApp conectada - liberando cadastro de grupo'); } else { setHasWhatsAppInstance(false); setUserInstance(instanceData); - console.log('Usuário não tem instância conectada:', { + console.log('❌ Usuário não tem instância conectada:', { instancia_zap: instanceData?.instancia_zap, status_instancia: instanceData?.status_instancia }); @@ -203,18 +218,36 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { - {/* Informações de debug */} + {/* Informações de debug DETALHADAS */}
-

Status da Instância:

-

Email: {userEmail || 'Não definido'}

-

Instância: {userInstance?.instancia_zap || 'Não encontrada'}

-

Status: {userInstance?.status_instancia || 'Não definido'}

-

WhatsApp: {userInstance?.whatsapp || 'Não encontrado'}

- {userInstance?.instancia_zap && userInstance?.status_instancia !== 'conectado' && ( -

- ⚠️ Instância encontrada, mas não está conectada. Status atual: {userInstance.status_instancia} +

📊 STATUS DETALHADO DA INSTÂNCIA:

+
+

Email consultado: {userEmail || 'Não definido'}

+

instancia_zap: + + {instanceData?.instancia_zap || 'NULL/Vazio'} +

- )} +

status_instancia: + + {instanceData?.status_instancia || 'NULL/Vazio'} + +

+

whatsapp: {instanceData?.whatsapp || 'NULL/Vazio'}

+ +
+

🔍 VALIDAÇÕES:

+

✓ Instância existe? {instanceData ? '✅ SIM' : '❌ NÃO'}

+

✓ instancia_zap preenchida? {(instanceData?.instancia_zap && instanceData.instancia_zap.trim() !== '') ? '✅ SIM' : '❌ NÃO'}

+

✓ Status é "conectado"? {instanceData?.status_instancia === 'conectado' ? '✅ SIM' : '❌ NÃO'}

+
+ + {instanceData?.instancia_zap && instanceData?.status_instancia !== 'conectado' && ( +

+ ⚠️ Instância encontrada, mas não está conectada. Status atual: "{instanceData.status_instancia}" +

+ )} +
diff --git a/src/services/whatsAppInstanceService.ts b/src/services/whatsAppInstanceService.ts index 2b18e4d..7e9662b 100644 --- a/src/services/whatsAppInstanceService.ts +++ b/src/services/whatsAppInstanceService.ts @@ -1,4 +1,3 @@ - import { supabase } from "@/integrations/supabase/client"; /** @@ -41,30 +40,51 @@ export async function getUserWhatsAppInstance(userEmail: string): Promise<{ whatsapp: string | null; } | null> { try { - console.log('Buscando instância para o email:', userEmail); + console.log('🔍 getUserWhatsAppInstance - Email recebido:', userEmail); + + const normalizedEmail = userEmail.trim().toLowerCase(); + console.log('📧 Email normalizado:', normalizedEmail); const { data, error } = await supabase .from('usuarios') .select('instancia_zap, status_instancia, whatsapp') - .eq('email', userEmail.trim().toLowerCase()) + .eq('email', normalizedEmail) .maybeSingle(); if (error) { - console.error('Erro ao buscar instância WhatsApp:', error); + console.error('❌ Erro ao buscar instância WhatsApp:', error); throw error; } - console.log('Dados da instância encontrados no banco:', data); + console.log('📊 DADOS RETORNADOS DO BANCO:'); + console.log('- Raw data:', JSON.stringify(data, null, 2)); - // Se não encontrou dados, retorna null if (!data) { - console.log('Nenhum usuário encontrado com o email:', userEmail); + console.log('⚠️ Nenhum usuário encontrado com o email:', normalizedEmail); + + // Vamos fazer uma busca alternativa para ver se o usuário existe com email diferente + const { data: allUsers, error: allError } = await supabase + .from('usuarios') + .select('email, instancia_zap, status_instancia, whatsapp'); + + if (!allError && allUsers) { + console.log('📋 TODOS OS USUÁRIOS NO BANCO:'); + allUsers.forEach((user, index) => { + console.log(`${index + 1}. Email: "${user.email}" | Instancia: "${user.instancia_zap}" | Status: "${user.status_instancia}"`); + }); + } + return null; } + console.log('✅ Usuário encontrado! Dados da instância:'); + console.log(`- instancia_zap: "${data.instancia_zap}" (tipo: ${typeof data.instancia_zap})`); + console.log(`- status_instancia: "${data.status_instancia}" (tipo: ${typeof data.status_instancia})`); + console.log(`- whatsapp: "${data.whatsapp}" (tipo: ${typeof data.whatsapp})`); + return data; } catch (error) { - console.error('Erro ao buscar instância WhatsApp:', error); + console.error('💥 Erro crítico ao buscar instância WhatsApp:', error); throw error; } }