-- ═══════════════════════════════════════════════════════════════════════════
-- نظام تسجيل النشاطات (User Activity Logs System)
-- ═══════════════════════════════════════════════════════════════════════════
-- تعليمات التنفيذ:
-- 1. افتح SQL Server Management Studio
-- 2. اتصل بقاعدة البيانات الخاصة بك
-- 3. انسخ والصق هذا الكود كاملاً
-- 4. اضغط Execute (F5)
-- ═══════════════════════════════════════════════════════════════════════════

USE [SurveyDepartment];  -- غير اسم قاعدة البيانات حسب الحاجة
GO

-- ─────────────────────────────────────────────────────────────────────────────
-- 1. صفحة عرض جميع سجلات النشاط (الرئيسية)
-- ─────────────────────────────────────────────────────────────────────────────
IF NOT EXISTS (SELECT 1 FROM [system_routes] WHERE [name] = 'admin.logs.index')
BEGIN
    INSERT INTO [system_routes] (
        [is_active],
        [prefix],
        [name],
        [url],
        [method],
        [type],
        [controller],
        [view_name],
        [middleware],
        [constraints],
        [route_properties],
        [auth],
        [main_group],
        [parent_id],
        [order],
        [created_at],
        [updated_at]
    ) VALUES (
        1,                                              -- is_active
        NULL,                                           -- prefix (NULL لتجنب التكرار)
        'admin.logs.index',                             -- name
        '/admin/logs',                                  -- url
        'GET',                                          -- method
        'volt',                                         -- type
        NULL,                                           -- controller
        'livewire.backend.system.logs-index',           -- view_name
        '["auth"]',                                     -- middleware
        NULL,                                           -- constraints
        '{"display_name":{"en":"Activity Logs","ar":"سجلات الأنشطة"},"description":{"en":"View all system activity logs","ar":"عرض جميع سجلات الأنشطة في النظام"},"display_icon":"clipboard-list","elements":[{"name":"log.view_all","display_name":{"en":"View All Logs","ar":"عرض جميع السجلات"}},{"name":"log.search","display_name":{"en":"Search Logs","ar":"البحث في السجلات"}},{"name":"log.filter","display_name":{"en":"Filter Logs","ar":"تصفية السجلات"}},{"name":"log.export","display_name":{"en":"Export Logs","ar":"تصدير السجلات"}}]}',
        1,                                              -- auth
        'system',                                       -- main_group
        NULL,                                           -- parent_id
        100,                                            -- order
        GETDATE(),                                      -- created_at
        GETDATE()                                       -- updated_at
    );
    PRINT '✓ تم إضافة Route: admin.logs.index';
END
ELSE
BEGIN
    PRINT '⚠ Route موجود بالفعل: admin.logs.index';
END
GO

-- ─────────────────────────────────────────────────────────────────────────────
-- 2. صفحة عرض تفاصيل سجل نشاط محدد
-- ─────────────────────────────────────────────────────────────────────────────
IF NOT EXISTS (SELECT 1 FROM [system_routes] WHERE [name] = 'admin.logs.show')
BEGIN
    INSERT INTO [system_routes] (
        [is_active],
        [prefix],
        [name],
        [url],
        [method],
        [type],
        [controller],
        [view_name],
        [middleware],
        [constraints],
        [route_properties],
        [auth],
        [main_group],
        [parent_id],
        [order],
        [created_at],
        [updated_at]
    ) VALUES (
        1,                                              -- is_active
        NULL,                                           -- prefix
        'admin.logs.show',                              -- name
        '/admin/logs/{id}',                             -- url
        'GET',                                          -- method
        'volt',                                         -- type
        NULL,                                           -- controller
        'livewire.backend.system.logs-show',            -- view_name
        '["auth"]',                                     -- middleware
        '{"id":"[0-9]+"}',                              -- constraints
        '{"display_name":{"en":"Log Details","ar":"تفاصيل السجل"},"description":{"en":"View activity log details","ar":"عرض تفاصيل سجل النشاط"},"display_icon":"eye","elements":[{"name":"log.view_details","display_name":{"en":"View Details","ar":"عرض التفاصيل"}},{"name":"log.view_changes","display_name":{"en":"View Changes","ar":"عرض التغييرات"}}]}',
        1,                                              -- auth
        'system',                                       -- main_group
        NULL,                                           -- parent_id
        101,                                            -- order
        GETDATE(),                                      -- created_at
        GETDATE()                                       -- updated_at
    );
    PRINT '✓ تم إضافة Route: admin.logs.show';
END
ELSE
BEGIN
    PRINT '⚠ Route موجود بالفعل: admin.logs.show';
END
GO

-- ─────────────────────────────────────────────────────────────────────────────
-- 3. صفحة عرض سجلات نشاط مستخدم محدد
-- ─────────────────────────────────────────────────────────────────────────────
IF NOT EXISTS (SELECT 1 FROM [system_routes] WHERE [name] = 'admin.logs.user')
BEGIN
    INSERT INTO [system_routes] (
        [is_active],
        [prefix],
        [name],
        [url],
        [method],
        [type],
        [controller],
        [view_name],
        [middleware],
        [constraints],
        [route_properties],
        [auth],
        [main_group],
        [parent_id],
        [order],
        [created_at],
        [updated_at]
    ) VALUES (
        1,                                              -- is_active
        NULL,                                           -- prefix
        'admin.logs.user',                              -- name
        '/admin/logs/user/{userId}',                    -- url
        'GET',                                          -- method
        'volt',                                         -- type
        NULL,                                           -- controller
        'livewire.backend.system.logs-user',            -- view_name
        '["auth"]',                                     -- middleware
        '{"userId":"[0-9]+"}',                          -- constraints
        '{"display_name":{"en":"User Logs","ar":"سجلات المستخدم"},"description":{"en":"View user activity logs","ar":"عرض سجلات نشاط المستخدم"},"display_icon":"user-circle","elements":[{"name":"log.view_user_logs","display_name":{"en":"View User Logs","ar":"عرض سجلات المستخدم"}},{"name":"log.filter_user_logs","display_name":{"en":"Filter User Logs","ar":"تصفية سجلات المستخدم"}}]}',
        1,                                              -- auth
        'system',                                       -- main_group
        NULL,                                           -- parent_id
        102,                                            -- order
        GETDATE(),                                      -- created_at
        GETDATE()                                       -- updated_at
    );
    PRINT '✓ تم إضافة Route: admin.logs.user';
END
ELSE
BEGIN
    PRINT '⚠ Route موجود بالفعل: admin.logs.user';
END
GO

-- ═══════════════════════════════════════════════════════════════════════════
-- تحقق من النتائج
-- ═══════════════════════════════════════════════════════════════════════════
PRINT '';
PRINT '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━';
PRINT 'Routes المضافة:';
PRINT '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━';

SELECT
    [name] AS [Route Name],
    [url] AS [URL],
    [method] AS [Method],
    [type] AS [Type],
    [is_active] AS [Active]
FROM [system_routes]
WHERE [name] LIKE 'admin.logs.%'
ORDER BY [order];

PRINT '';
PRINT '✓ تم تنفيذ جميع الأوامر بنجاح!';
PRINT '';
PRINT 'الخطوة التالية:';
PRINT '────────────────────────────────────────────────────────────────────';
PRINT '1. افتح المتصفح واذهب إلى: http://your-domain/admin/logs';
PRINT '2. سجل خروج ودخول لاختبار النظام';
PRINT '3. شاهد السجلات في الصفحة';
PRINT '════════════════════════════════════════════════════════════════════';
