#!/bin/bash
set -e

cd /var/www/html

# Write .env from Render environment variables
cat > .env << EOF
APP_NAME="${APP_NAME:-Ellora Hotels}"
APP_ENV="${APP_ENV:-production}"
APP_KEY="${APP_KEY:-}"
APP_DEBUG="${APP_DEBUG:-false}"
APP_URL="${APP_URL:-http://localhost}"
APP_TIMEZONE="Asia/Kolkata"

LOG_CHANNEL="${LOG_CHANNEL:-stderr}"
LOG_LEVEL=error

DB_CONNECTION="${DB_CONNECTION:-pgsql}"
DB_HOST="${DB_HOST:-localhost}"
DB_PORT="${DB_PORT:-5432}"
DB_DATABASE="${DB_DATABASE:-ellora_hotel}"
DB_USERNAME="${DB_USERNAME:-ellora}"
DB_PASSWORD="${DB_PASSWORD:-}"

SESSION_DRIVER="${SESSION_DRIVER:-database}"
SESSION_LIFETIME=120
CACHE_STORE="${CACHE_STORE:-array}"
QUEUE_CONNECTION="${QUEUE_CONNECTION:-sync}"

MAIL_MAILER="${MAIL_MAILER:-log}"
MAIL_HOST="${MAIL_HOST:-localhost}"
MAIL_PORT="${MAIL_PORT:-587}"
MAIL_USERNAME="${MAIL_USERNAME:-}"
MAIL_PASSWORD="${MAIL_PASSWORD:-}"
MAIL_FROM_ADDRESS="${MAIL_FROM_ADDRESS:-noreply@ellorahotels.com}"
MAIL_FROM_NAME="Ellora Hotels"

FILESYSTEM_DISK=local
EOF

# Generate app key
php artisan key:generate --force

# Run migrations
php artisan migrate --force

# Storage symlink
php artisan storage:link --force 2>/dev/null || true

# Create default admin user if none exists
php artisan admin:create \
    --email="${ADMIN_EMAIL:-admin@ellorahotels.com}" \
    --password="${ADMIN_PASSWORD:-Admin@12345}" \
    --name="Admin" || true

# Cache everything
php artisan config:cache
php artisan route:cache
php artisan view:cache

# Create PHP-FPM socket directory
mkdir -p /run/php

# Start nginx + php-fpm
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
