#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 کامل و اعتبارسنجی مالکیت داده همراه شود.