105 lines
3.5 KiB
JavaScript
105 lines
3.5 KiB
JavaScript
import fetch from "node-fetch";
|
|
|
|
const SUPABASE_URL = "https://yuanqfswhberkoevtmfr.supabase.co";
|
|
const SUPABASE_ANON_KEY =
|
|
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ";
|
|
|
|
console.log(
|
|
"🔍 DIAGNÓSTICO COMPLETO - Verificando todas as tabelas possíveis\n"
|
|
);
|
|
|
|
async function testarVariacoes() {
|
|
const testes = [
|
|
// Médicos
|
|
{ nome: "doctors", url: `${SUPABASE_URL}/rest/v1/doctors?select=*` },
|
|
{
|
|
nome: "doctors (count)",
|
|
url: `${SUPABASE_URL}/rest/v1/doctors?select=count`,
|
|
},
|
|
{ nome: "medicos", url: `${SUPABASE_URL}/rest/v1/medicos?select=*` },
|
|
{
|
|
nome: "user_directory",
|
|
url: `${SUPABASE_URL}/rest/v1/user_directory?select=*`,
|
|
},
|
|
|
|
// Pacientes
|
|
{ nome: "patients", url: `${SUPABASE_URL}/rest/v1/patients?select=*` },
|
|
{
|
|
nome: "patients (count)",
|
|
url: `${SUPABASE_URL}/rest/v1/patients?select=count`,
|
|
},
|
|
{ nome: "pacientes", url: `${SUPABASE_URL}/rest/v1/pacientes?select=*` },
|
|
|
|
// Outras tabelas possíveis
|
|
{ nome: "profiles", url: `${SUPABASE_URL}/rest/v1/profiles?select=*` },
|
|
{ nome: "users", url: `${SUPABASE_URL}/rest/v1/users?select=*` },
|
|
{
|
|
nome: "appointments",
|
|
url: `${SUPABASE_URL}/rest/v1/appointments?select=*`,
|
|
},
|
|
];
|
|
|
|
for (const teste of testes) {
|
|
console.log(`\n📋 Testando: ${teste.nome}`);
|
|
console.log("─".repeat(60));
|
|
|
|
try {
|
|
const response = await fetch(teste.url, {
|
|
method: "GET",
|
|
headers: {
|
|
apikey: SUPABASE_ANON_KEY,
|
|
Authorization: `Bearer ${SUPABASE_ANON_KEY}`,
|
|
"Content-Type": "application/json",
|
|
},
|
|
});
|
|
|
|
console.log(`Status: ${response.status}`);
|
|
|
|
if (response.ok) {
|
|
const data = await response.json();
|
|
|
|
if (Array.isArray(data)) {
|
|
console.log(`✅ ENCONTRADO! ${data.length} registro(s)`);
|
|
|
|
if (data.length > 0) {
|
|
console.log("\n📄 Primeiro registro:");
|
|
const primeiro = data[0];
|
|
const campos = Object.keys(primeiro);
|
|
console.log(`Campos disponíveis: ${campos.join(", ")}`);
|
|
console.log("\nDados:");
|
|
console.log(JSON.stringify(primeiro, null, 2).substring(0, 500));
|
|
}
|
|
} else if (data.count !== undefined) {
|
|
console.log(`✅ COUNT: ${data.count} registro(s)`);
|
|
} else {
|
|
console.log("✅ Resposta:", JSON.stringify(data).substring(0, 200));
|
|
}
|
|
} else if (response.status === 404) {
|
|
console.log("❌ Tabela não existe");
|
|
} else if (response.status === 401 || response.status === 403) {
|
|
console.log("🔒 Bloqueado por RLS (precisa autenticação)");
|
|
} else {
|
|
const error = await response.text();
|
|
console.log("❌ Erro:", error.substring(0, 200));
|
|
}
|
|
} catch (error) {
|
|
console.log("❌ Erro de conexão:", error.message);
|
|
}
|
|
|
|
// Pequeno delay entre requests
|
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
}
|
|
|
|
console.log("\n\n" + "=".repeat(60));
|
|
console.log("🎯 RESUMO");
|
|
console.log("=".repeat(60));
|
|
console.log("Se alguma tabela mostrou registros > 0, os dados EXISTEM!");
|
|
console.log("Se todas mostraram 0, pode ser:");
|
|
console.log(" 1. Dados realmente não existem");
|
|
console.log(" 2. RLS está bloqueando a leitura");
|
|
console.log(" 3. Tabelas têm nomes diferentes");
|
|
console.log("\n");
|
|
}
|
|
|
|
testarVariacoes();
|