-- Script untuk memperbaiki masalah approval flow

-- 1. Pastikan user level 5 memiliki is_approval_active = true
UPDATE user_levels 
SET is_approval_active = true 
WHERE id = 5;

-- 2. Pastikan workflow yang dibuat adalah default workflow
UPDATE approval_workflows 
SET is_default = true, is_active = true 
WHERE name = 'Multi-Branch Article Approval';

-- 3. Cek apakah ada workflow default
SELECT 
    id,
    name,
    is_active,
    is_default,
    client_id
FROM approval_workflows 
WHERE is_default = true 
AND is_active = true;

-- 4. Jika tidak ada default workflow, buat satu
-- (Gunakan ID workflow yang sudah dibuat)
-- UPDATE approval_workflows 
-- SET is_default = true 
-- WHERE id = YOUR_WORKFLOW_ID;

-- 5. Cek user level 5 setelah update
SELECT 
    id,
    level_name,
    level_number,
    is_approval_active,
    client_id
FROM user_levels 
WHERE id = 5;

-- 6. Cek user dengan level 5
SELECT 
    u.id,
    u.name,
    u.user_level_id,
    ul.level_name,
    ul.level_number,
    ul.is_approval_active
FROM users u
JOIN user_levels ul ON u.user_level_id = ul.id
WHERE u.user_level_id = 5;

-- 7. Test: Buat artikel baru untuk test
-- Gunakan API atau aplikasi untuk membuat artikel baru
-- dengan user level 5

-- 8. Cek hasil setelah test
SELECT 
    id,
    title,
    created_by_id,
    workflow_id,
    current_approval_step,
    status_id,
    bypass_approval,
    approval_exempt,
    created_at
FROM articles 
ORDER BY created_at DESC 
LIMIT 5;

-- 9. Cek approval flows yang baru dibuat
SELECT 
    aaf.id,
    aaf.article_id,
    aaf.workflow_id,
    aaf.current_step,
    aaf.current_branch,
    aaf.status_id,
    aaf.submitted_by_id,
    aaf.submitted_at,
    a.title as article_title
FROM article_approval_flows aaf
JOIN articles a ON aaf.article_id = a.id
ORDER BY aaf.created_at DESC 
LIMIT 5;
