Skip to main content
#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 حذف امن و سریع مسافر را پیاده‌سازی می‌کند بدون از بین بردن داده‌ها، و با ثبت ردپای حسابرسی کامل.