Files
Siro/backend/migration/update_fingerprint_admin.php
2026-06-12 20:40:40 +03:00

63 lines
2.3 KiB
PHP

<?php
// ═══════════════════════════════════════════════════════════════
// update_fingerprint_admin.php — تحديث بصمة واحدة (للترحيل)
// ───────────────────────────────────────────────────────────────
// ⚠️ يُستخدم فقط أثناء عملية الترحيل ثم يُحذف
// ═══════════════════════════════════════════════════════════════
require_once __DIR__ . '/../get_connect.php';
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: https://intaleqapp.com');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
http_response_code(200);
exit;
}
// ── التحقق من admin_key ────────────────────────────────────────
$adminKey = filterRequest('admin_key') ?? '';
$expectedAdminKey = getenv('MIGRATION_ADMIN_KEY');
if (empty($adminKey) || !hash_equals($expectedAdminKey, $adminKey)) {
http_response_code(403);
echo json_encode(['error' => 'Forbidden']);
exit;
}
try {
$passengerID = filterRequest('passengerID') ?? '';
$fingerprint = filterRequest('fingerprint') ?? '';
if (empty($passengerID) || empty($fingerprint)) {
http_response_code(400);
echo json_encode(['error' => 'Missing parameters']);
exit;
}
$stmt = $con->prepare('
UPDATE tokens
SET fingerPrint = :fp
WHERE passengerID = :pid
');
$stmt->execute([
':fp' => $fingerprint,
':pid' => $passengerID,
]);
$affected = $stmt->rowCount();
echo json_encode([
'status' => 'success',
'affected' => $affected,
]);
http_response_code(200);
} catch (Exception $e) {
error_log('❌ [update_fingerprint_admin] ' . $e->getMessage());
http_response_code(500);
echo json_encode(['error' => 'Server error']);
}