#!/bin/sh
set -e

cd /var/www

echo "==> Aguardando o PostgreSQL ficar disponível..."
until pg_isready -h "${DB_HOST:-postgres}" -U "${DB_USERNAME:-rota-viva}" >/dev/null 2>&1; do
    echo "    PostgreSQL ainda não está pronto - aguardando..."
    sleep 2
done
echo "==> PostgreSQL disponível."

# PHP dependencies
if [ ! -d "vendor" ]; then
    echo "==> Instalando dependências PHP (composer)..."
    composer install --no-interaction --prefer-dist --optimize-autoloader
else
    echo "==> vendor/ já existe, pulando composer install."
fi

# Node dependencies + asset build
if [ ! -d "node_modules" ]; then
    echo "==> Instalando dependências Node (npm)..."
    npm install
else
    echo "==> node_modules/ já existe, pulando npm install."
fi

if [ ! -d "public/build" ]; then
    echo "==> Compilando assets (npm run build)..."
    npm run build
else
    echo "==> public/build/ já existe, pulando npm run build."
fi

# Application key
if [ -z "${APP_KEY}" ]; then
    echo "==> Gerando APP_KEY..."
    php artisan key:generate --force
fi

# Storage permissions
chown -R www-data:www-data storage bootstrap/cache || true

# Database migrations
echo "==> Executando migrations..."
php artisan migrate --force

echo "==> Iniciando processo: ${@:-php-fpm}"
exec "${@:-php-fpm}"
