Skip to main content
#P1549

PUT /personnel

Route Info

Method Endpoint Controller Middleware Purpose
PUT /personnel OfficialController@personnelUpdate authWithJwt ویرایش اطلاعات پرسنل موجود (نام، نقش، شعبه، وضعیت و ...)

منطق عملکرد تابع

تابع personnelUpdate ابتدا بررسی می‌کند که کاربر جاری اجازه ویرایش دارد. سپس داده‌های جدید را از درخواست دریافت کرده، اعتبارسنجی می‌کند و رکورد مربوطه را در جدول operators یا جداول مرتبط به‌روزرسانی می‌نماید. در پایان، خروجی موفقیت‌آمیز برمی‌گرداند.

  1. اعتبارسنجی JWT و نقش کاربر.
  2. بررسی وجود شناسه (id) پرسنل.
  3. دریافت فیلدهای جدید مانند نام، نقش، شعبه، وضعیت.
  4. اجرای کوئری UPDATE متناسب با فیلدهای ارسالی.
  5. بازگرداندن پیام موفقیت همراه با زمان به‌روزرسانی.

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

نام محل نوع الزامی توضیح
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 برای به‌روزرسانی امن و سریع اطلاعات پرسنل استفاده می‌شود و باید با کنترل دقیق مجوز اجرا گردد.