riseup-squad18/MEDICONNECT 2/create-patient-with-password.cjs

81 lines
2.5 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const axios = require("axios");
// Configuração
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";
// Dados do paciente (Aurora Sabrina Clara Nascimento)
const PATIENT_DATA = {
email: "aurora-nascimento94@gmx.com",
password: "auroranasc94",
full_name: "Aurora Sabrina Clara Nascimento",
phone_mobile: "(21) 99856-3014",
cpf: "66864784231", // CPF sem pontuação
create_patient_record: true,
role: "paciente",
};
async function main() {
try {
console.log("🔐 1. 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: {
"Content-Type": "application/json",
apikey: SUPABASE_ANON_KEY,
},
}
);
const adminToken = loginResponse.data.access_token;
console.log("✅ Login realizado com sucesso!");
console.log("🔑 Token:", adminToken.substring(0, 30) + "...");
console.log("\n👤 2. Criando paciente...");
console.log("Dados:", JSON.stringify(PATIENT_DATA, null, 2));
// 2. Criar paciente
const createResponse = await axios.post(
`${SUPABASE_URL}/functions/v1/create-user-with-password`,
PATIENT_DATA,
{
headers: {
"Content-Type": "application/json",
apikey: SUPABASE_ANON_KEY,
Authorization: `Bearer ${adminToken}`,
},
}
);
console.log("\n✅ Paciente criado com sucesso!");
console.log("Resposta:", JSON.stringify(createResponse.data, null, 2));
if (createResponse.data.patient_id) {
console.log("\n📋 ID do paciente:", createResponse.data.patient_id);
console.log("✉️ Email de confirmação enviado para:", PATIENT_DATA.email);
console.log("🔐 Senha temporária:", PATIENT_DATA.password);
console.log(
"\n⚠ O usuário precisa confirmar o email antes de fazer login!"
);
}
} catch (error) {
console.error("❌ Erro:", error.response?.data || error.message);
console.error("Status:", error.response?.status);
console.error("URL:", error.config?.url);
}
}
main();