import fs from 'fs';

async function migrarPelaWeb() {
  console.log('🚀 Preparando o envio de dados via Injeção Web (Driblando Firewall)...');

  // 1. Lendo os arquivos
  const sql = fs.readFileSync('../schema.sql', 'utf8');

  // Pegue o seu arquivo que já foi salvo!
  const arquivos = fs.readdirSync('.');
  // Garante que vai pegar especificamente o arquivo migrado e limpo!
  const arquivoBackup = arquivos.find(a => a.includes('_migrado.json'));

  if (!arquivoBackup) {
    console.log('❌ O JSON de backup não foi encontrado na pasta manager!');
    return;
  }

  const jsonData = JSON.parse(fs.readFileSync(arquivoBackup, 'utf8'));

  // 2. Fazendo o Disparo para a WEB!!!
  console.log('🔥 Disparando os dados para a sua nuvem através da porta 443 liberada!');
  try {
    const payloadLength = JSON.stringify({ senha: 'magia2026', sql, jsonData }).length;
    console.log(`📦 Tamanho da carga: ${(payloadLength / 1024 / 1024).toFixed(2)} MB`);

    const response = await fetch('https://edumanager.microtecinformaticacurso.com.br/api/migracao-remota', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        senha: 'magia2026',
        sql: sql,
        jsonData: jsonData
      })
    });

    const resultado = await response.json();
    if (response.ok) {
      console.log('✅ SUCESSO ABSOLUTO:', resultado.message);
      console.log('O seu banco de dados na VPS está criado e populado! Pode abrir o sistema.');
    } else {
      console.log('⚠️ ALERTA:', resultado.error || resultado);
    }
  } catch (err) {
    console.error('❌ Falha na conexão HTTP:', err.message);
  }
}

migrarPelaWeb();
