<?php
require 'c:/xampp/htdocs/CARGOO/database/Database.php';
require 'c:/xampp/htdocs/CARGOO/app/Services/AdminPermissionService.php';

$db = Database::getInstance();
$admins = $db->query("
    SELECT u.id, u.username, u.email, u.is_super_admin, GROUP_CONCAT(r.name) as roles 
    FROM users u 
    LEFT JOIN user_roles ur ON ur.user_id = u.id 
    LEFT JOIN roles r ON r.id = ur.role_id 
    GROUP BY u.id
")->fetchAll(PDO::FETCH_ASSOC);

$permService = new AdminPermissionService();

foreach ($admins as $a) {
    $roles = explode(',', $a['roles'] ?? '');
    $isAdmin = in_array('admin', $roles) || in_array('super_admin', $roles) || !empty($a['is_super_admin']);
    if ($isAdmin) {
        $canVerify = $permService->has((int)$a['id'], 'payment.verify');
        $effective = $permService->getEffectivePermissions((int)$a['id']);
        echo "Admin User #{$a['id']} ({$a['username']}): is_super_admin={$a['is_super_admin']}, roles={$a['roles']}, can(payment.verify)=" . ($canVerify ? 'YES' : 'NO') . ", total_perms=" . count($effective) . "\n";
    }
}
