Skip to main content
#P1437

DELETE /api/v2/personnel/traffic/delete

Route Info

Method Endpoint Controller Middleware Purpose
DELETE /api/v2/personnel/traffic/delete UserController@deleteTrafficPersonnel authWithJwt حذف رکورد تردد از جدول rollcalls.

منطق عملکرد

  • شناسه رکورد از درخواست گرفته می‌شود ($request->get('id')).
  • حذف مستقیم رکورد با دستور DB::table('rollcalls')->where('id', id)->delete() انجام می‌شود.
  • در صورت حذف موفق، پاسخ با status=true و timestamp ارسال می‌گردد.

پارامترهای ورودی

نام نوع ضروری توضیح
id integer بله شناسه رکورد در جدول rollcalls برای حذف.
operator object بله از JWT خوانده شده برای ثبت عملیات یا تأیید مجاز بودن کاربر.
DELETE /api/v2/personnel/traffic/delete
{
  "id": 84
}

نمونه خروجی موفق

{
  "status": true,
  "time": 1732037700
}

امنیت

  • احراز JWT الزامی است.
  • دسترسی محدود به اپراتورهای همان شعبه.
  • پیشنهاد می‌شود کنترل مالکیت رکورد قبل از حذف اضافه گردد.

Dependencies

  • DB Facade
  • Carbon
  • Exception

کارایی

به‌طور میانگین کمتر از 1 ms برای حذف رکورد اجرا می‌شود.

مدیریت خطا

در صورت بروز استثنا، پاسخ با status=false و متن خطا ارسال شده و کد HTTP=400 تنظیم می‌گردد.

اثرات جانبی

رکورد حذف‌شده قابل بازیابی نیست مگر با لاگ‌های جداگانه یا نسخه‌سازی دیتابیس.

ردپای حسابرسی

پیشنهاد جدی: اضافه کردن SystemLog::dispatch(['type'=>'DeleteTraffic']) برای ثبت حذف و ردیابی تاریخی.

پیشنهاد بهبود

  • قبل از delete() بررسی مالکیت رکورد توسط شعبه.
  • پشتیبانی از Soft Delete در نسخه بعد برای قابلیت بازیابی.

جمع‌بندی

روت حذف تردد آخرین مرحله از چرخه حضور و غیاب است. ساده اما حساس — باید با Audit کامل و اعتبارسنجی مالکیت داده همراه شود.