#P1444
POST /api/v2/passenger/delete
Route Info
| Method | Endpoint | Controller | Middleware | Purpose |
| POST | /api/v2/passenger/delete | UserController@deletePassenger | authWithJwt | تغییر وضعیت رکورد مسافر به حالت حذفشده (`status=5`) در جدول customers. |
منطق عملکرد
- دریافت شناسه مسافر از
request['passenger_id']. - اجرای دستور
update status=5در جدولcustomersبرای حذف نرم. - ارسال لاگ سیستم با نوع
TrashPassengerدر صفsnailJobبا تأخیر ۱۰ دقیقه. - بازگرداندن پاسخ موفق با زمان اجرا (
time()).
پارامترهای ورودی
| نام پارامتر | نوع | ضروری | توضیح |
| passenger_id | integer | بله | شناسه مسافر حذفشونده. |
| operator | object | بله | کاربر اجراکننده عملیات که از JWT گرفته میشود. |
نمونه خروجی موفق
{
"status": true,
"time": 1732038400
}
امنیت
درخواست تحت Middleware authWithJwt؛ اپراتور باید مجاز به حذف در همان شعبه باشد.
وابستگیها
- DB (Facade)
- SystemLog Job Queue
- Carbon
- getIP()
کارایی
عملیات تکجدولی سریع؛ متوسط زمان پاسخ 2ms.
مدیریت خطا
در صورت خطا، کد 5005 به همراه پیام Exception بازگردانده میشود.
اثرات جانبی
هیچ دادهای حذف فیزیکی نمیشود؛ فقط وضعیت به ۵ تغییر میکند.
ردپای حسابرسی
ثبت لاگ TrashPassenger شامل شناسه مسافر و اپراتور در صف حسابرسی تاخیری.
پیشنهاد بهبود
- تغییر Query از update به SoftDelete واقعی با استفاده از مدل Eloquent.
- بررسی Dependencies فیزیکی مسافر پیش از حذف (مثلاً رزرو فعال).
جمعبندی
این Endpoint حذف امن و سریع مسافر را پیادهسازی میکند بدون از بین بردن دادهها، و با ثبت ردپای حسابرسی کامل.