-- ═══════════════════════════════════════════════════════════════════════════
-- ✅ التحقق الشامل من نظام Logs
-- ═══════════════════════════════════════════════════════════════════════════
-- الغرض: التأكد من أن جميع Routes تعمل بشكل صحيح
-- ═══════════════════════════════════════════════════════════════════════════

PRINT '';
PRINT '════════════════════════════════════════════════════════════════';
PRINT '  🔍 التحقق من نظام Logs';
PRINT '════════════════════════════════════════════════════════════════';
PRINT '';

-- ─────────────────────────────────────────────────────────────────────────────
-- 1️⃣ فحص Routes في قاعدة البيانات
-- ─────────────────────────────────────────────────────────────────────────────
PRINT '📋 Routes في قاعدة البيانات:';
PRINT '────────────────────────────────────────────────────────────────';

SELECT
    [name] AS [Route Name],
    [url] AS [URL],
    [type] AS [Type],
    [view_name] AS [View Name],
    [constraints] AS [Constraints],
    [is_active] AS [Active],
    CASE
        WHEN [type] = 'volt' AND [view_name] LIKE 'livewire.%' THEN '✓'
        ELSE '✗'
    END AS [Status]
FROM [system_routes]
WHERE [name] LIKE 'admin.logs.%'
ORDER BY [order];

PRINT '';

-- ─────────────────────────────────────────────────────────────────────────────
-- 2️⃣ التحقق من المتطلبات
-- ─────────────────────────────────────────────────────────────────────────────
PRINT '🔧 فحص المتطلبات:';
PRINT '────────────────────────────────────────────────────────────────';

-- فحص admin.logs.index
DECLARE @index_ok BIT = 0;
SELECT @index_ok = 1
FROM [system_routes]
WHERE [name] = 'admin.logs.index'
  AND [type] = 'volt'
  AND [view_name] = 'livewire.backend.system.logs-index'
  AND [is_active] = 1;

IF @index_ok = 1
    PRINT '   ✓ admin.logs.index: صحيح';
ELSE
    PRINT '   ✗ admin.logs.index: يحتاج تصحيح';

-- فحص admin.logs.show
DECLARE @show_ok BIT = 0;
SELECT @show_ok = 1
FROM [system_routes]
WHERE [name] = 'admin.logs.show'
  AND [type] = 'volt'
  AND [view_name] = 'livewire.backend.system.logs-show'
  AND [constraints] LIKE '%id%'
  AND [is_active] = 1;

IF @show_ok = 1
    PRINT '   ✓ admin.logs.show: صحيح';
ELSE
    PRINT '   ✗ admin.logs.show: يحتاج تصحيح';

-- فحص admin.logs.user
DECLARE @user_ok BIT = 0;
SELECT @user_ok = 1
FROM [system_routes]
WHERE [name] = 'admin.logs.user'
  AND [type] = 'volt'
  AND [view_name] = 'livewire.backend.system.logs-user'
  AND [constraints] LIKE '%userId%'
  AND [is_active] = 1;

IF @user_ok = 1
    PRINT '   ✓ admin.logs.user: صحيح';
ELSE
    PRINT '   ✗ admin.logs.user: يحتاج تصحيح';

PRINT '';

-- ─────────────────────────────────────────────────────────────────────────────
-- 3️⃣ فحص جدول users_log
-- ─────────────────────────────────────────────────────────────────────────────
PRINT '📊 فحص جدول users_log:';
PRINT '────────────────────────────────────────────────────────────────';

IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'users_log')
BEGIN
    DECLARE @log_count INT;
    SELECT @log_count = COUNT(*) FROM [users_log];

    PRINT '   ✓ الجدول موجود';
    PRINT '   📈 عدد السجلات: ' + CAST(@log_count AS NVARCHAR(50));

    -- عرض آخر 3 سجلات
    PRINT '';
    PRINT '   آخر 3 سجلات:';
    SELECT TOP 3
        [id],
        [action],
        [status],
        [created_at]
    FROM [users_log]
    ORDER BY [created_at] DESC;
END
ELSE
BEGIN
    PRINT '   ✗ الجدول غير موجود';
END

PRINT '';

-- ─────────────────────────────────────────────────────────────────────────────
-- 4️⃣ النتيجة النهائية
-- ─────────────────────────────────────────────────────────────────────────────
PRINT '════════════════════════════════════════════════════════════════';

IF @index_ok = 1 AND @show_ok = 1 AND @user_ok = 1
BEGIN
    PRINT '  ✅ النظام جاهز للعمل!';
    PRINT '════════════════════════════════════════════════════════════════';
    PRINT '';
    PRINT '📌 الخطوات التالية:';
    PRINT '   1. امسح Cache: php artisan route:clear';
    PRINT '   2. تحقق من Routes: php artisan route:list --name=admin.logs';
    PRINT '   3. افتح المتصفح: /admin/logs';
END
ELSE
BEGIN
    PRINT '  ⚠ يحتاج تصحيح!';
    PRINT '════════════════════════════════════════════════════════════════';
    PRINT '';
    PRINT '📌 لتصحيح المشاكل:';
    PRINT '   نفذ: FIX_LOGS_ROUTES_VOLT.sql';
END

PRINT '';
