#!/usr/bin/env bash
# Usage: tools/apply-overlay.sh /path/to/fresh/laravel/project
set -euo pipefail
TARGET="${1:?Pass the path of your Laravel project}"
HERE="$(cd "$(dirname "$0")/.." && pwd)"

[ -f "$TARGET/artisan" ] || { echo "Not a Laravel project: $TARGET"; exit 1; }

# Copy overlay (app, config, database, public/pwa, shared-hosting) into the project
for d in app config database public/pwa shared-hosting docs; do
  mkdir -p "$TARGET/$d"
  cp -R "$HERE/$d/." "$TARGET/$d/"
done
cp "$HERE/shared-hosting/.htaccess" "$TARGET/.htaccess.shared-hosting"

# Register the provider (Laravel 11+/12 style)
PROV="$TARGET/bootstrap/providers.php"
if ! grep -q EhdsServiceProvider "$PROV"; then
  sed -i 's#^\];#    App\\Providers\\EhdsServiceProvider::class,\n];#' "$PROV"
  echo "Registered EhdsServiceProvider in bootstrap/providers.php"
fi

# Sanctum is required for field-device tokens
if ! grep -q '"laravel/sanctum"' "$TARGET/composer.json"; then
  echo "Sanctum missing. Run inside the project:  php artisan install:api --no-interaction"
fi
echo "Overlay applied. Next: php artisan serve  then open /install"
