#!/bin/bash
set -euo pipefail

cd "$(dirname "$0")"

echo "==> Instalando dependencias (producao, sem dev)..."
composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader

# .env: cria a partir do exemplo SOMENTE se nao existir (redeploy nao sobrescreve)
if [ ! -f .env ]; then
    cp -v .env.example .env
    echo "==> .env criado a partir de .env.example"
else
    echo "==> .env ja existe; pulando copia (nao sobrescreve)"
fi

# APP_KEY: gera apenas se ausente/vazia (idempotente; evita rotacionar a chave em redeploys)
if ! grep -q '^APP_KEY=[^[:space:]]' .env; then
    php artisan key:generate
    echo "==> APP_KEY gerada"
else
    echo "==> APP_KEY ja presente; pulando key:generate"
fi

echo "==> Link de storage publico (idempotente)..."
php artisan storage:link || true

echo "==> Cadeia de otimizacao de producao (composer prod)..."
composer prod

echo "==> Seed auxiliar (ExtrasSeeder)..."
php artisan db:seed --class=ExtrasSeeder
