44 lines
1.7 KiB
PHP
44 lines
1.7 KiB
PHP
<?php
|
||
|
||
require_once __DIR__ . '/../connect.php';
|
||
|
||
// المسار القديم للتأمين الصحي. المسار الجديد (خطط، أهلية، أقساط) في
|
||
// plans.php و subscribe.php و get.php — هذا يبقى لمن سُجّل هنا سابقاً.
|
||
|
||
// الهوية من الـJWT لا من الطلب. كان الملف يقرأ driver_id من المدخلات
|
||
// بلا أي فحص، فأي حامل رمز صالح يكتب سجل تأمين باسم أي سائق.
|
||
$driver_id = $user_id ?? '';
|
||
if (empty($driver_id) || ($role ?? '') !== 'driver') {
|
||
jsonError('Unauthorized', 401);
|
||
}
|
||
|
||
$assured = filterRequest("assured");
|
||
$health_insurance_provider = filterRequest("health_insurance_provider");
|
||
|
||
// upsert لا insert: العمود driver_id عليه مفتاح فريد، فأي حفظ ثانٍ
|
||
// لنفس السائق كان يفشل بخرق المفتاح — والحفظ الثاني هو الحالة
|
||
// الطبيعية (تعديل مزوّد التأمين) لا الاستثناء.
|
||
$sql = "INSERT INTO `driver_health_assurance` (
|
||
`driver_id`,
|
||
`assured`,
|
||
`health_insurance_provider`
|
||
) VALUES (
|
||
:driver_id,
|
||
:assured,
|
||
:health_insurance_provider
|
||
)
|
||
ON DUPLICATE KEY UPDATE
|
||
`assured` = VALUES(`assured`),
|
||
`health_insurance_provider` = VALUES(`health_insurance_provider`)";
|
||
|
||
$stmt = $con->prepare($sql);
|
||
$stmt->bindParam(':driver_id', $driver_id);
|
||
$stmt->bindParam(':assured', $assured);
|
||
$stmt->bindParam(':health_insurance_provider', $health_insurance_provider);
|
||
|
||
if ($stmt->execute()) {
|
||
jsonSuccess(null, "Health assurance data saved successfully");
|
||
} else {
|
||
jsonError("Failed to save health assurance data");
|
||
}
|
||
?>
|