#!/bin/bash

echo "🔍 RedOne Vision Upload Debug - Dosya Nerede?"
echo "============================================="
echo "Başlangıç: $(date)"

# 1. PM2 Logs - Upload aktivitesini kontrol et
echo "1️⃣ PM2 Backend Logs (Upload activity):"
echo "======================================="
pm2 logs redone-backend --lines 20 --nostream | grep -E "(Upload|📤|📁|upload)" || echo "Upload log bulunamadı"

echo ""

# 2. Upload klasörleri kontrolü
echo "2️⃣ Upload Klasörleri Kontrolü:"
echo "=============================="
if [ -d "/var/www/redone.vision/uploads" ]; then
    echo "✅ Ana upload klasörü mevcut"
    ls -la /var/www/redone.vision/uploads/
    
    echo ""
    echo "📊 Upload klasör içeriği:"
    find /var/www/redone.vision/uploads -type f -name "*" 2>/dev/null | head -10 || echo "Hiç dosya bulunamadı"
    
    echo ""
    echo "📁 Klasör yapısı:"
    tree /var/www/redone.vision/uploads/ 2>/dev/null || find /var/www/redone.vision/uploads -type d
    
    echo ""
    echo "📊 Dosya sayısı:"
    file_count=$(find /var/www/redone.vision/uploads -type f | wc -l)
    echo "Toplam dosya: $file_count"
else
    echo "❌ Upload klasörü bulunamadı!"
fi

echo ""

# 3. Disk space kontrolü
echo "3️⃣ Disk Space Kontrolü:"
echo "======================"
df -h /var/www/redone.vision/
du -sh /var/www/redone.vision/uploads/ 2>/dev/null || echo "Upload klasörü boyutu alınamadı"

echo ""

# 4. İzinler kontrolü
echo "4️⃣ İzinler Kontrolü:"
echo "==================="
ls -la /var/www/redone.vision/ | grep uploads
ls -la /var/www/redone.vision/uploads/ 2>/dev/null | head -5

echo ""

# 5. Tüm sistemde son upload edilen dosyaları ara
echo "5️⃣ Son Upload Edilen Dosyalar (Son 10 dakika):"
echo "=============================================="
find /var/www/redone.vision -type f -newermt "10 minutes ago" 2>/dev/null | head -10 || echo "Son 10 dakikada dosya bulunamadı"

echo ""

# 6. Temp klasörlerde dosya ara
echo "6️⃣ Temp Klasörlerde Dosya Arama:"
echo "================================"
find /tmp -name "*upload*" -o -name "*redone*" 2>/dev/null | head -5 || echo "Temp'te dosya bulunamadı"
find /var/tmp -name "*upload*" -o -name "*redone*" 2>/dev/null | head -5 || echo "Var/tmp'te dosya bulunamadı"

echo ""

# 7. Node.js process working directory
echo "7️⃣ Node.js Working Directory:"
echo "============================="
ps aux | grep "redone-backend\|node.*server.js" | grep -v grep

echo ""

# 8. Upload endpoint son test
echo "8️⃣ Upload Endpoint Test:"
echo "======================="
response=$(curl -s -w "%{http_code}" https://redone.vision/api/upload/status -o /tmp/upload_status_debug.json)
echo "Upload status HTTP: $response"
if [ "$response" = "200" ]; then
    cat /tmp/upload_status_debug.json | python3 -m json.tool 2>/dev/null
fi

echo ""

# 9. Multer destination debug - Upload.js'te path kontrol
echo "9️⃣ Upload.js Multer Destination Debug:"
echo "===================================="
if [ -f "/var/www/redone.vision/backend/routes/upload.js" ]; then
    echo "Upload.js destination function:"
    grep -A 20 "destination:" /var/www/redone.vision/backend/routes/upload.js | head -25
else
    echo "❌ Upload.js bulunamadı"
fi

echo ""

# 10. En son değişen dosyalar
echo "🔟 En Son Değişen Dosyalar (1 saat):"
echo "==================================="
find /var/www/redone.vision -type f -newermt "1 hour ago" -exec ls -la {} \; 2>/dev/null | head -10

echo ""

# 11. Multer temp dosyaları ara
echo "1️⃣1️⃣ Multer Temp Dosyaları:"
echo "=========================="
find /var/www/redone.vision -name "*multer*" -o -name "*tmp*" 2>/dev/null | head -5 || echo "Multer temp dosyası bulunamadı"

echo ""

# 12. Backend error logs
echo "1️⃣2️⃣ Backend Error Logs:"
echo "======================="
pm2 logs redone-backend --err --lines 10 --nostream | tail -10

echo ""

# QUICK FIX SUGGESTIONS
echo "🔧 HIZLI ÇÖZÜM ÖNERİLERİ:"
echo "======================="
echo "1. İzin sorunu varsa:"
echo "   sudo chown -R www-data:www-data /var/www/redone.vision/uploads/"
echo "   sudo chmod -R 755 /var/www/redone.vision/uploads/"
echo ""
echo "2. Upload klasörü yoksa:"
echo "   mkdir -p /var/www/redone.vision/uploads/Movies/Video/Content"
echo "   mkdir -p /var/www/redone.vision/uploads/Movies/Poster/Content"
echo ""
echo "3. Multer destination path yanlışsa:"
echo "   Edit: /var/www/redone.vision/backend/routes/upload.js"
echo "   Path check: console.log('📁 Upload path:', uploadPath);"
echo ""
echo "4. Disk full ise:"
echo "   df -h (check space)"
echo "   sudo apt clean"
echo ""

# 13. Admin panel'den gelen son request'i yakala
echo "1️⃣3️⃣ Admin Panel Son Request (Nginx logs):"
echo "========================================"
tail -5 /var/log/nginx/access.log | grep -E "(upload|admin)" || echo "Nginx upload log bulunamadı"

echo ""
echo "🎯 DEBUG TAMAMLANDI!"
echo "==================="
echo "📋 Sonraki adım: Yukarıdaki bilgileri kontrol edin"
echo "🔍 En önemli kontroller:"
echo "   - Upload klasörü var mı?"
echo "   - İzinler doğru mu?"
echo "   - PM2 logs'ta hata var mı?"
echo "   - Multer destination path doğru mu?"

rm -f /tmp/upload_status_debug.json
