#P1549
PUT /personnel
Route Info
| Method |
Endpoint |
Controller |
Middleware |
Purpose |
| PUT |
/personnel |
OfficialController@personnelUpdate |
authWithJwt |
ویرایش اطلاعات پرسنل موجود (نام، نقش، شعبه، وضعیت و ...) |
منطق عملکرد تابع
تابع personnelUpdate ابتدا بررسی میکند که کاربر جاری اجازه ویرایش دارد. سپس دادههای جدید را از درخواست دریافت کرده، اعتبارسنجی میکند و رکورد مربوطه را در جدول operators یا جداول مرتبط بهروزرسانی مینماید. در پایان، خروجی موفقیتآمیز برمیگرداند.
- اعتبارسنجی JWT و نقش کاربر.
- بررسی وجود شناسه (
id) پرسنل.
- دریافت فیلدهای جدید مانند نام، نقش، شعبه، وضعیت.
- اجرای کوئری
UPDATE متناسب با فیلدهای ارسالی.
- بازگرداندن پیام موفقیت همراه با زمان بهروزرسانی.
پارامترهای ورودی
| نام |
محل |
نوع |
الزامی |
توضیح |
| id |
Body |
integer |
بله |
شناسه پرسنل هدف |
| name |
Body |
string |
خیر |
نام کامل جدید |
| username |
Body |
string |
خیر |
نام کاربری جدید |
| password |
Body |
string |
خیر |
رمز عبور جدید (هش میشود) |
| branch |
Body |
integer |
خیر |
شناسه شعبه جدید |
| role |
Body |
integer |
خیر |
شناسه نقش جدید |
| status |
Body |
integer |
خیر |
وضعیت فعال/غیرفعال |
ساختار خروجی
{
"status": true,
"time": 1732366220,
"data": {
"id": 152,
"name": "علیرضا ایرانپور",
"branch": "اصفهان",
"role": "کارشناس فنی",
"status": 1,
"updated_at": "1404/08/03 13:02:31"
}
}
نکات امنیتی
- دسترسی محدود به نقشهای Admin و HR.
- همه ورودیها باید اعتبارسنجی و پاکسازی شوند.
- رمز عبور فقط در صورت ارسال هش میشود.
عملکرد
- بهروزرسانی رکورد معمولاً < 50ms زمان میبرد.
- در بهروزرسانیهای زیاد، استفاده از تراکنش DB توصیه میشود.
Dependencies
- Illuminate\Support\Facades\DB
- Carbon\Carbon
- Hash Facade (در صورت تغییر رمز)
کدهای خطا
| کد |
شرح |
منبع |
| 400 |
ورودی ناقص یا نامعتبر |
Validation |
| 404 |
پرسنل یافت نشد |
DB Lookup |
| 500 |
خطای داخلی سرور |
Exception Handler |
پیشنهادهای امنیتی
- ورود همه تغییرات به لاگ ممیزی.
- ارسال نوتیفیکیشن به کاربر در صورت تغییر رمز یا نقش.
پیشنهادهای توسعهای
- پشتیبانی از Partial Update (PATCH) برای کاهش حجم داده.
- امکان تغییر همزمان دسترسیها.
ممیزی و ثبت وقایع
- ثبت شناسه شخص تغییردهنده و تاریخ دقیق تغییر.
جمعبندی
personnelUpdate برای بهروزرسانی امن و سریع اطلاعات پرسنل استفاده میشود و باید با کنترل دقیق مجوز اجرا گردد.