#!/bin/bash
# Corrigir ownership de TODOS os arquivos para www-data

set -e

echo "🔧 =========================================="
echo "   CORRIGINDO OWNERSHIP COMPLETO"
echo "=========================================="
echo ""

cd /var/www/gestorstream

# Verificar se está rodando como root
if [ "$EUID" -ne 0 ]; then 
    echo "❌ Este script precisa ser executado como root"
    echo "   Execute: sudo bash corrigir-ownership-completo.sh"
    exit 1
fi

# 1. Corrigir ownership do backend
echo "📁 [1/3] Corrigindo ownership do backend..."
chown -R www-data:www-data backend
echo "✅ Backend corrigido"
echo ""

# 2. Corrigir ownership do frontend
echo "📁 [2/3] Corrigindo ownership do frontend..."
chown -R www-data:www-data frontend
echo "✅ Frontend corrigido"
echo ""

# 3. Corrigir permissões
echo "🔐 [3/3] Corrigindo permissões..."
chmod -R 755 backend frontend
chmod -R 775 backend/storage backend/bootstrap/cache
echo "✅ Permissões corrigidas"
echo ""

# 4. Verificar arquivo VERSION
echo "📋 Verificando arquivo VERSION..."
if [ -f backend/VERSION ]; then
    echo "   Versão atual: $(cat backend/VERSION)"
    echo "   Owner: $(stat -c '%U:%G' backend/VERSION)"
    echo "   Perms: $(stat -c '%a' backend/VERSION)"
    
    # Corrigir se necessário
    chown www-data:www-data backend/VERSION
    chmod 664 backend/VERSION
    echo "   ✅ VERSION corrigido"
else
    echo "   ⚠️  Arquivo VERSION não encontrado"
fi
echo ""

# 5. Verificar alguns arquivos específicos
echo "🔍 Verificando arquivos específicos..."
FILES=(
    "backend/VERSION"
    "backend/composer.json"
    "backend/app/Console/Commands/AutoDatabaseBackup.php"
)

for file in "${FILES[@]}"; do
    if [ -f "$file" ]; then
        owner=$(stat -c '%U:%G' "$file")
        if [ "$owner" != "www-data:www-data" ]; then
            echo "   ⚠️  $file: $owner (corrigindo...)"
            chown www-data:www-data "$file"
        else
            echo "   ✅ $file: $owner"
        fi
    fi
done
echo ""

echo "✅ =========================================="
echo "   CORREÇÃO CONCLUÍDA!"
echo "=========================================="
echo ""
echo "📋 Agora teste a atualização novamente:"
echo "   1. No painel admin, tente atualizar manualmente"
echo "   2. Verifique os logs: tail -f storage/logs/laravel.log"

