#!/bin/sh
set -e

echo "🔹 Initializing Laravel application..."

cd /var/www/html

# Create .env if missing OR empty
if [ ! -f .env ] || [ ! -s .env ]; then
  echo ".env missing or empty. Creating from .env.example"
  cp .env.example .env
fi

# Install dependencies if vendor missing (KEY FIX)
if [ ! -f vendor/autoload.php ]; then
  echo "Installing Composer dependencies..."
  composer install --no-dev --optimize-autoloader
fi

# Generate APP_KEY if missing
if ! grep -q "^APP_KEY=" .env || grep -q "^APP_KEY=$" .env; then
  echo "Generating APP_KEY"
  php artisan key:generate
fi

# Fix permissions
echo "Fixing permissions"
# Ensure directories exist to avoid chown errors
mkdir -p storage bootstrap/cache public/certificate_package public/pdf_files public/pdf_img public/signer_pdf_files public/form_img public/signed_pdf_files public/signed_pdf_cert_files public/certificate public/signed_img_files
chown -R www-data:www-data storage bootstrap/cache public/certificate_package public/pdf_files public/pdf_img public/signer_pdf_files public/form_img public/signed_pdf_files public/signed_pdf_cert_files public/certificate public/signed_img_files
chmod -R 775 storage bootstrap/cache public/certificate_package public/pdf_files public/pdf_img public/signer_pdf_files public/form_img public/signed_pdf_files public/signed_pdf_cert_files public/certificate public/signed_img_files

# Clear caches
php artisan config:clear
php artisan cache:clear

echo "✅ Laravel initialization completed"

# Start Apache
exec apache2-foreground

