#!/usr/bin/env bash
# Corrige permissões do storage quando CLI (marcelo) e PHP-FPM (www-data) alternam.
# Uso: bin/fix-storage-perms
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

PHP="${PHP_BIN:-php8.3}"
command -v "$PHP" >/dev/null 2>&1 || PHP=php

echo "==> Limpando views compiladas (evita touch() em arquivos de outro usuário)"
"$PHP" artisan view:clear

echo "==> Ajustando permissões de grupo em storage/ e bootstrap/cache/"
chmod -R g+rwX storage bootstrap/cache 2>/dev/null || true
find storage bootstrap/cache -type d -exec chmod g+s {} + 2>/dev/null || true

if command -v sudo >/dev/null 2>&1 && sudo -n true 2>/dev/null; then
  echo "==> Normalizando dono (www-data) com sudo"
  sudo chgrp -R www-data storage bootstrap/cache
  sudo chmod -R ug+rwX storage bootstrap/cache
  sudo find storage bootstrap/cache -type d -exec chmod g+s {} +
else
  echo "==> Sem sudo: mantendo grupo www-data nos arquivos que você possui."
  echo "    Se o erro voltar, rode: sudo chgrp -R www-data storage bootstrap/cache && sudo chmod -R ug+rwX storage bootstrap/cache"
fi

echo "OK. Evite 'php artisan view:cache' em desenvolvimento local."
