#!/usr/bin/env bash
set -euo pipefail

ROOT="/var/www/html/favo"
PATCH_DIR="$(cd "$(dirname "$0")/.." && pwd)"
STAMP="$(date +%Y%m%d_%H%M%S)"
BACKUP="$ROOT/storage/backups/transaction-security-$STAMP"

mkdir -p "$BACKUP"

for f in \
  app/Controllers/TransactionController.php \
  app/Services/PurchaseService.php
do
  if [ -f "$ROOT/$f" ]; then
    mkdir -p "$BACKUP/$(dirname "$f")"
    cp -a "$ROOT/$f" "$BACKUP/$f"
  fi
done

install -m 0644 "$PATCH_DIR/app/Controllers/TransactionController.php" \
  "$ROOT/app/Controllers/TransactionController.php"
install -m 0644 "$PATCH_DIR/app/Services/PurchaseService.php" \
  "$ROOT/app/Services/PurchaseService.php"

php -l "$ROOT/app/Controllers/TransactionController.php"
php -l "$ROOT/app/Services/PurchaseService.php"

echo
echo "FAVO transaction security fix deployed."
echo "Backup: $BACKUP"
