add documents+ai_data to getDriverDetails, create rejectDriver endpoint, add rejected_reason column

This commit is contained in:
Hamza-Ayed
2026-06-25 17:01:44 +03:00
parent 0c5088fd6d
commit d4db89f04e
3 changed files with 46 additions and 0 deletions

View File

@@ -29,6 +29,23 @@ if ($stmt->rowCount() > 0) {
}
}
// ✅ جلب روابط المستندات من driver_documents
$docsSql = "SELECT doc_type, link, image_name FROM driver_documents WHERE driverID = :driverId2 ORDER BY doc_type";
$docsStmt = $con->prepare($docsSql);
$docsStmt->execute([':driverId2' => $driverId]);
$documents = $docsStmt->fetchAll(PDO::FETCH_ASSOC);
$row['documents'] = $documents ?: [];
// ✅ فك JSON لـ ai_data و user_input
if (!empty($row['ai_data'])) {
$decoded = json_decode($row['ai_data'], true);
$row['ai_data'] = $decoded ?: $row['ai_data'];
}
if (!empty($row['user_input'])) {
$decoded = json_decode($row['user_input'], true);
$row['user_input'] = $decoded ?: $row['user_input'];
}
// ✅ إزالة الحقول الحسّاسة من الاستجابة
$fieldsToRemove = ['password', 'password_hash', 'salt', 'reset_token'];
foreach ($fieldsToRemove as $f) {
@@ -37,6 +54,11 @@ if ($stmt->rowCount() > 0) {
}
}
// عشان الـ licenseIssueDate متناسق مع الفلتر
if (empty($row['licenseIssueDate']) && !empty($row['issue_date'])) {
$row['licenseIssueDate'] = $row['issue_date'];
}
// إرسال الاستجابة
jsonSuccess([$row]);

View File

@@ -0,0 +1,23 @@
<?php
require_once __DIR__ . '/../connect.php';
$driverId = filterRequest("driverId");
$reason = filterRequest("reason");
if (empty($driverId)) {
jsonError("driverId is required");
exit;
}
$sql = "UPDATE `driver` SET `status` = 'rejected', `rejected_reason` = :reason WHERE `id` = :driverId";
$stmt = $con->prepare($sql);
$stmt->execute([
':reason' => $reason ?: 'Rejected by service agent',
':driverId' => $driverId,
]);
if ($stmt->rowCount() > 0) {
jsonSuccess(["message" => "Driver rejected successfully."]);
} else {
jsonError("Driver not found or already rejected.");
}