Skip to main content
#P1548

POST /personnel

Route Info

Method Endpoint Controller Middleware Purpose
POST /personnel OfficialController@personnelStore authWithJwt ثبت اطلاعات و ایجاد کاربر (پرسنل) جدید در سیستم

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

تابع personnelStore ورودی JSON شامل جزئیات پرسنل را دریافت و صحت‌سنجی می‌کند، سپس رکورد جدیدی در دیتابیس ایجاد می‌کند. بعد از ذخیره، شناسه و اطلاعات پایه کاربر جدید در خروجی برگردانده می‌شود.

  1. بررسی نقش کاربر جاری (دسترسی ایجاد پرسنل).
  2. اعتبارسنجی فیلدهای ضروری مثل نام، نام کاربری، شعبه، نقش.
  3. درج رکورد در جدول operators به همراه هش کردن رمز عبور.
  4. اختصاص نقش و تنظیمات پیش‌فرض دسترسی.
  5. بازگرداندن خروجی موفق شامل شناسه و زمان ایجاد.

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

نام محل نوع الزامی توضیح
name Body string بله نام کامل پرسنل
username Body string بله نام کاربری (یونیک)
password Body string بله رمز عبور (پیش از ذخیره هش می‌شود)
branch Body integer بله شناسه شعبه
role Body integer بله شناسه نقش سازمانی
email Body string خیر ایمیل پرسنل
phone Body string خیر شماره تماس

ساختار خروجی

{
  "status": true,
  "time": 1732366188,
  "data": {
    "id": 152,
    "name": "علیرضا ایرانپور",
    "username": "airanpour",
    "branch": "اصفهان",
    "role": "کارشناس فنی",
    "created_at": "1404/08/03 12:45:21"
  }
}

نکات امنیتی

  • رمز عبور باید با الگوریتم امن مثل bcrypt هش شود.
  • تمام ورودی‌ها باید در سمت سرور اعتبارسنجی شوند.
  • دسترسی ایجاد فقط برای نقش‌های Admin یا HR فعال باشد.

عملکرد

  • عملیات درج سریع است (کمتر از 50ms در DB با ایندکس بر روی username).
  • نیاز به کوئری اضافی برای بررسی تکراری بودن username.

Dependencies

  • Illuminate\Support\Facades\DB
  • Carbon\Carbon
  • Hash Facade

کدهای خطا

کد شرح منبع
400 ورودی ناقص یا نامعتبر Validation
409 نام کاربری تکراری DB Unique Constraint
500 خطای داخلی سرور Exception Handler

پیشنهادهای امنیتی

  • استفاده از rate limit برای جلوگیری از ثبت انبوه.
  • گزارش همه عملیات ایجاد به سیستم لاگ مرکزی.

پیشنهادهای توسعه‌ای

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

ممیزی و ثبت وقایع

  • ثبت شناسه کاربر ایجادکننده و زمان دقیق ایجاد پرسنل.

جمع‌بندی

personnelStore نقطه ورود ایجاد پرسنل جدید است و باید با کنترل‌های امنیتی و اعتبارسنجی دقیق همراه باشد.