<?php
/**
 * Admin/Staff/setup.php
 * سكربت إعداد المسؤول الأول (Super Admin)
 * يستخدم لمرة واحدة فقط عندما تكون الجداول فارغة
 */
require_once __DIR__ . '/../../core/bootstrap.php';
$con = Database::get('main');

// تم تعطيل التحقق للسماح بإعادة التهيئة
// $count = $con->query("SELECT COUNT(*) FROM adminUser")->fetchColumn();
// if ($count > 0) {
//     die("Access Denied: Admin already initialized.");
// }

$password = "malDev@2101"; // كلمة المرور المؤقتة
$hashedPass = password_hash($password, PASSWORD_DEFAULT);

// قائمة بالمسؤولين الأوائل (بصمات أجهزتك)
$admins = [
    [
        'name' => 'Hamza (iPhone)',
        'fp'   => 'D386663E-51E1-4322-B1E2-F469C7E58063_iPhone', // مثال بناءً على وصفك (deviceId_model)
        'role' => 'admin'
    ],
    [
        'name' => 'Hamza (MacBook)',
        'fp'   => '5449E3D3-E427-50D7-91A6-D86D973DC6E0_Mac15,3', // مثال للماك بوك
        'role' => 'admin'
    ]
];

try {
    $con->exec("DELETE FROM adminUser");
    foreach ($admins as $admin) {
        $encName  = $encryptionHelper->encryptData($admin['name']);
        $encFp    = $encryptionHelper->encryptData($admin['fp']);
        $fpHash   = hash('sha256', $admin['fp']);
        $uniqueId = bin2hex(random_bytes(16));

        $sql = "INSERT INTO adminUser (id, fingerprint, fingerprint_hash, name, password, role, created_at) 
                VALUES (:id, :fp, :fp_hash, :name, :pass, :role, NOW())";
        $stmt = $con->prepare($sql);
        $stmt->execute([
            ':id'      => $uniqueId,
            ':fp'      => $encFp,
            ':fp_hash' => $fpHash,
            ':name'    => $encName,
            ':pass'    => $hashedPass,
            ':role'    => $admin['role']
        ]);
    }
    echo "<h1>Initialization Successful</h1>";
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}
