const axios = require("axios");

const ANON_KEY =
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ";
const BASE_URL = "https://yuanqfswhberkoevtmfr.supabase.co";

(async () => {
  try {
    console.log("🔐 Fazendo login como admin...");
    const loginRes = await axios.post(
      `${BASE_URL}/auth/v1/token?grant_type=password`,
      {
        email: "riseup@popcode.com.br",
        password: "riseup",
      },
      {
        headers: {
          "Content-Type": "application/json",
          apikey: ANON_KEY,
        },
      }
    );

    console.log("✅ Login admin bem-sucedido!\n");
    const token = loginRes.data.access_token;

    console.log("👤 Criando usuário Fernando Pirichowski...");

    // Criar usuário via signup
    const signupRes = await axios.post(
      `${BASE_URL}/auth/v1/signup`,
      {
        email: "fernando.pirichowski@souunit.com.br",
        password: "fernando123", // Senha temporária
        options: {
          data: {
            full_name: "Fernando Pirichowski",
            phone: "51999999999",
          },
        },
      },
      {
        headers: {
          "Content-Type": "application/json",
          apikey: ANON_KEY,
        },
      }
    );

    console.log("✅ Usuário criado com sucesso!");
    console.log("📧 Email:", signupRes.data.user.email);
    console.log("🆔 ID:", signupRes.data.user.id);
    console.log("🔑 Senha temporária: fernando123\n");

    // Criar entrada na tabela patients
    console.log("📋 Criando entrada na tabela patients...");
    const patientRes = await axios.post(
      `${BASE_URL}/rest/v1/patients`,
      {
        id: signupRes.data.user.id,
        email: "fernando.pirichowski@souunit.com.br",
        full_name: "Fernando Pirichowski",
        phone_mobile: "51999999999",
        cpf: "12345678909", // CPF válido fictício
      },
      {
        headers: {
          "Content-Type": "application/json",
          apikey: ANON_KEY,
          Authorization: `Bearer ${token}`,
          Prefer: "return=representation",
        },
      }
    );

    console.log("✅ Entrada na tabela patients criada!");
    console.log("\n🎉 Usuário Fernando Pirichowski criado com sucesso!");
    console.log("📧 Email: fernando.pirichowski@souunit.com.br");
    console.log("🔑 Senha: fernando123");
    console.log("\n💡 Agora você pode testar a recuperação de senha!");
  } catch (err) {
    console.error("❌ Erro:", err.response?.data || err.message);
    if (err.response?.data?.msg) {
      console.error("Mensagem:", err.response.data.msg);
    }
  }
})();
