# DELETE /api/v2/personnel/traffic/delete

<div id="bkmrk-" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"></div>### Route Info

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"><table border="1" style="width: 96%; margin: auto; border-collapse: collapse; text-align: center;"><tbody><tr style="background: #f9f9f9; font-weight: bold;"><td>Method</td><td>Endpoint</td><td>Controller</td><td>Middleware</td><td>Purpose</td></tr><tr><td style="direction: ltr;">DELETE</td><td style="direction: ltr;">/api/v2/personnel/traffic/delete</td><td style="direction: ltr;">UserController@deleteTrafficPersonnel</td><td style="direction: ltr;">authWithJwt</td><td style="direction: rtl; text-align: right;">حذف رکورد تردد از جدول `rollcalls`.</td></tr></tbody></table>

</div>### منطق عملکرد

<div id="bkmrk-%D8%B4%D9%86%D8%A7%D8%B3%D9%87-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%A7%D8%B2-%D8%AF%D8%B1%D8%AE%D9%88%D8%A7" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- شناسه رکورد از درخواست گرفته می‌شود (`$request->get('id')`).
- حذف مستقیم رکورد با دستور `DB::table('rollcalls')->where('id', id)->delete()` انجام می‌شود.
- در صورت حذف موفق، پاسخ با `status=true` و timestamp ارسال می‌گردد.

</div>### پارامترهای ورودی

<div id="bkmrk-%D9%86%D8%A7%D9%85-%D9%86%D9%88%D8%B9-%D8%B6%D8%B1%D9%88%D8%B1%DB%8C-%D8%AA%D9%88%D8%B6%DB%8C%D8%AD-" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"><table border="1" style="width: 94%; margin: auto; border-collapse: collapse; text-align: center;"><tbody><tr style="background: #f9f9f9; font-weight: bold;"><td>نام</td><td>نوع</td><td>ضروری</td><td>توضیح</td></tr><tr><td>id</td><td>integer</td><td>بله</td><td>شناسه رکورد در جدول `rollcalls` برای حذف.</td></tr><tr><td>operator</td><td>object</td><td>بله</td><td>از JWT خوانده شده برای ثبت عملیات یا تأیید مجاز بودن کاربر.</td></tr></tbody></table>

</div>```
DELETE /api/v2/personnel/traffic/delete
{
  "id": 84
}
```

<div id="bkmrk--1" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"></div>### نمونه خروجی موفق

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

<div id="bkmrk--2" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"></div>### امنیت

<div id="bkmrk-%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2-jwt-%D8%A7%D9%84%D8%B2%D8%A7%D9%85%DB%8C-%D8%A7%D8%B3%D8%AA" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- احراز JWT الزامی است.
- دسترسی محدود به اپراتورهای همان شعبه.
- پیشنهاد می‌شود کنترل مالکیت رکورد قبل از حذف اضافه گردد.

</div>### Dependencies

<div id="bkmrk-db-facade-carbon-exc" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- DB Facade
- Carbon
- Exception

</div>### کارایی

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

<div class="align-right" id="bkmrk--3" style="font-family: Vazir; line-height: 1.9;"></div>### مدیریت خطا

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

<div class="align-right" id="bkmrk--4" style="font-family: Vazir; line-height: 1.9;"></div>### اثرات جانبی

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

<div class="align-right" id="bkmrk--5" style="font-family: Vazir; line-height: 1.9;"></div>### ردپای حسابرسی

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

<div id="bkmrk--6" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"></div>### پیشنهاد بهبود

<div id="bkmrk-%D9%82%D8%A8%D9%84-%D8%A7%D8%B2-delete%28%29-%D8%A8%D8%B1%D8%B1%D8%B3" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- قبل از `delete()` بررسی مالکیت رکورد توسط شعبه.
- پشتیبانی از Soft Delete در نسخه بعد برای قابلیت بازیابی.

</div>### جمع‌بندی

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

<div id="bkmrk-delete-traffic-personnel" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"></div>