#!/usr/bin/env bash
set -e

echo "=== MA Platform Setup ==="
echo ""

# ---- Backend ----
echo "[1/5] Instalando dependências PHP (Laravel 11)..."
cd backend

# Cria projeto Laravel limpo e depois copia nossos arquivos por cima
if [ ! -f "vendor/autoload.php" ]; then
    composer install --no-dev --optimize-autoloader
fi

cp .env.example .env
php artisan key:generate --ansi

echo ""
echo "[2/5] Configurando banco de dados..."
echo "  → Edite backend/.env com DB_DATABASE, DB_USERNAME, DB_PASSWORD"
echo "  → Depois rode: php artisan migrate --seed"
echo ""

# Cria diretórios de storage necessários
mkdir -p storage/app/ndas
mkdir -p storage/logs
mkdir -p bootstrap/cache
chmod -R 775 storage bootstrap/cache

echo "[3/5] Criando symlink de storage..."
php artisan storage:link 2>/dev/null || echo "  (storage:link já existe ou será feito manualmente)"

# ---- Frontend ----
echo ""
echo "[4/5] Instalando dependências Node.js..."
cd ../frontend

npm install

cp .env.example .env.local
echo "  → Edite frontend/.env.local com VITE_API_URL"

echo ""
echo "[5/5] Build de produção do frontend..."
echo "  → Após configurar .env.local, rode: npm run build"
echo "  → Copie dist/ para a raiz do domínio no servidor"

echo ""
echo "=== Setup concluído ==="
echo ""
echo "Próximos passos:"
echo "  1. Edite backend/.env (DB_* e MAIL_*)"
echo "  2. php artisan migrate --seed"
echo "  3. Edite frontend/.env.local (VITE_API_URL)"
echo "  4. npm run build"
echo "  5. Faça upload de backend/ para /api/ no servidor"
echo "  6. Faça upload de frontend/dist/ para raiz do domínio"
echo ""
echo "Após deploy, acesse o wizard de instalação:"
echo "  https://seudominio.com.br/setup"
echo ""
echo "Login padrão (após seeder):"
echo "  E-mail: admin@maplatform.com.br"
echo "  Senha:  Admin@2024!"
echo "  (troque imediatamente após o primeiro login)"
