/** * Script para cadastrar o paciente Guilherme Silva Gomes - SQUAD 18 */ import axios from "axios"; const SUPABASE_URL = "https://yuanqfswhberkoevtmfr.supabase.co"; const SUPABASE_ANON_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ"; // Credenciais do admin const ADMIN_EMAIL = "riseup@popcode.com.br"; const ADMIN_PASSWORD = "riseup"; async function main() { try { console.log("πŸ” Fazendo login como admin..."); // 1. Login do admin const loginResponse = await axios.post( `${SUPABASE_URL}/auth/v1/token?grant_type=password`, { email: ADMIN_EMAIL, password: ADMIN_PASSWORD, }, { headers: { apikey: SUPABASE_ANON_KEY, "Content-Type": "application/json", }, } ); const token = loginResponse.data.access_token; console.log("βœ… Login realizado com sucesso!\n"); // 2. Dados do paciente Guilherme Silva Gomes - SQUAD 18 const pacienteData = { full_name: "Guilherme Silva Gomes - SQUAD 18", email: "guilherme@paciente.com", phone_mobile: "79999521847", cpf: "11144477735", // CPF vΓ‘lido para teste (validado por algoritmo) birth_date: "2000-01-01", sex: "M", }; console.log("πŸ“ Cadastrando paciente:"); console.log(JSON.stringify(pacienteData, null, 2)); console.log(""); // 3. Cadastrar o paciente const cadastroResponse = await axios.post( `${SUPABASE_URL}/rest/v1/patients`, pacienteData, { headers: { apikey: SUPABASE_ANON_KEY, Authorization: `Bearer ${token}`, "Content-Type": "application/json", Prefer: "return=representation", }, } ); console.log("βœ… Paciente cadastrado com sucesso!"); console.log("Dados retornados:"); console.log(JSON.stringify(cadastroResponse.data, null, 2)); console.log(""); // 4. Verificar se o paciente aparece na API console.log("πŸ” Verificando se o paciente aparece na lista..."); const listaResponse = await axios.get( `${SUPABASE_URL}/rest/v1/patients?select=*`, { headers: { apikey: SUPABASE_ANON_KEY, Authorization: `Bearer ${token}`, }, } ); const guilherme = listaResponse.data.find( (p) => p.email === "guilherme@paciente.com" ); if (guilherme) { console.log("βœ… SUCESSO! Paciente encontrado na API:"); console.log(JSON.stringify(guilherme, null, 2)); } else { console.log("❌ Paciente nΓ£o encontrado na lista."); } console.log(""); console.log(`πŸ“Š Total de pacientes na base: ${listaResponse.data.length}`); } catch (error) { console.error("❌ Erro:", error.response?.data || error.message); if (error.response) { console.error("Status:", error.response.status); console.error("Headers:", error.response.headers); } } } main();