#!/usr/bin/env bash
set -Eeuo pipefail
cd "$(dirname "$0")"
if [[ ! -f .env ]]; then cp .env.example .env; echo "Created .env from .env.example. Edit DB settings and APP_KEY before deployment."; fi
set -a; source .env; set +a
mkdir -p storage/logs storage/cache storage/uploads storage/exports storage/seed
if command -v composer >/dev/null 2>&1; then
  echo "Installing Composer dependencies..."
  composer install --no-dev --optimize-autoloader
else
  echo "Composer not found. Core PHP pages can run without it, but .xlsx import requires PhpSpreadsheet; install Composer for full import support."
fi
if command -v mysql >/dev/null 2>&1; then
  if [[ -n "${DB_DATABASE:-}" ]]; then
    echo "Attempting to create database ${DB_DATABASE} if permitted..."
    mysql -h "${DB_HOST:-127.0.0.1}" -P "${DB_PORT:-3306}" -u "${DB_USERNAME:-root}" ${DB_PASSWORD:+-p"$DB_PASSWORD"} -e "CREATE DATABASE IF NOT EXISTS \`${DB_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci" 2>/dev/null || echo "Could not auto-create database. Create it manually and rerun this installer."
  fi
else
  echo "MySQL CLI not found. Ensure the database in .env already exists."
fi
php database/migrate.php
echo "\nInstallation step finished. Start local server with: php -S 127.0.0.1:8000 -t public public/index.php"
