#!/bin/bash
# Ripristina vendor Symfony/composer in vte_dev dopo 500 (polyfill incompleti).
# Esecuzione sul server:
#   sudo bash /var/www/html/server-ops/mypantarei/fix-vte-dev-vendor-composer.sh
#
# Nota: se vendor/ è stato scritto da root, www-data non può creare vendor/bin/yaml-lint.
# Questo script normalizza i permessi ed esegue composer come root (solo riparazione),
# poi rimette vendor a www-data.

set -euo pipefail
if [[ "${EUID:-0}" -ne 0 ]]; then
	echo "Esegui: sudo bash $0" >&2
	exit 1
fi

VTE=/var/www/html/vte_dev
cd "$VTE"

export COMPOSER_ALLOW_SUPERUSER=1

echo "[INFO] Permessi: vendor → www-data (scrittura bin/cache composer)..."
mkdir -p "$VTE/vendor/bin" "$VTE/.composer-cache"
chown -R www-data:www-data "$VTE/vendor" "$VTE/.composer-cache" 2>/dev/null || true

echo "[INFO] Rimuovo vendor/symfony (ricreazione da composer.lock)..."
rm -rf "$VTE/vendor/symfony"

echo "[INFO] composer install come root (COMPOSER_ALLOW_SUPERUSER=1)..."
composer install --no-dev --no-interaction --working-dir="$VTE"

echo "[INFO] vendor → www-data (lettura/scrittura per FPM e prossimi composer)..."
chown -R www-data:www-data "$VTE/vendor"

echo "[OK] Verifica file:"
test -f "$VTE/vendor/symfony/polyfill-ctype/bootstrap.php"
test -d "$VTE/vendor/symfony/polyfill-php80/Resources/stubs"
test -f "$VTE/vendor/bin/yaml-lint" || test -L "$VTE/vendor/bin/yaml-lint"
ls -la "$VTE/vendor/symfony/polyfill-ctype/bootstrap.php" "$VTE/vendor/bin/yaml-lint" 2>/dev/null || true

echo "[OK] Fine. Ricarica il sito."
