#!/usr/bin/env bash
# Corrige permissões de storage e bootstrap/cache (rodar via SSH no servidor após deploy).
# Uso: bash scripts/fix-storage-permissions.sh
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"

echo "→ Ajustando permissões em ${ROOT}"

WRITABLE_DIRS=(
  storage/app
  storage/framework/cache
  storage/framework/sessions
  storage/framework/views
  storage/logs
  bootstrap/cache
)

for dir in "${WRITABLE_DIRS[@]}"; do
  mkdir -p "$dir"
done

# Dono = usuário que executa o script (ex.: nolapiscom no cPanel)
OWNER="$(id -un)"
GROUP="$(id -gn)"

chown -R "${OWNER}:${GROUP}" storage bootstrap/cache
chmod -R ug+rwx storage bootstrap/cache

# Views compiladas antigas podem ter dono/grupo incompatível com o PHP
if command -v php >/dev/null 2>&1; then
  php artisan view:clear --no-ansi 2>/dev/null || true
fi

bash "${ROOT}/scripts/ensure-view-cache-group-www-data.sh"

echo "✓ storage e bootstrap/cache prontos para escrita (${OWNER}:${GROUP})"
