Skip to main content
#P1447

POST /api/v2/operator/store

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/operator/store UserController@storeOperator authWithJwt ثبت اپراتور جدید همراه با اطلاعات فردی، شغلی و دسترسی‌ها

منطق عملکرد

  • ثبت رکورد جدید در جدول operators با داده‌های ارسالی از فرم یا پنل.
  • رمز عبور با استفاده از Hash::make() رمزگذاری می‌شود.
  • در صورتی که attachment وجود داشته باشد، هر آیتم از آن در جدول operators_attachment درج می‌شود.
  • رکورد ذخیره‌شده مجدداً از DB واکشی و در پاسخ بازگردانده می‌شود.

پارامترهای الزامی

نام پارامتر نوع ضروری توضیح
personnel_id integer بله کد پرسنلی اپراتور
branch json/int بله شناسه یا آرایه شعب متصل
type integer خیر نوع کاربر (ادمین، فروش، مالی...)
first_name, last_name string بله نام و نام خانوادگی فارسی
password string بله رمز عبور اپراتور، هش می‌شود
attachment[] array خیر آرایه فایل‌های پیوست مربوط به اپراتور

نمونه خروجی موفق

{
 "status": true,
 "time": 1732046200,
 "data": {
   "id": 85,
   "personnel_id": 10034,
   "first_name": "علیرضا",
   "last_name": "ایرانپور",
   "branch": "[0]",
   "access": "{\"panel\":[\"customers\",\"dashboard\"]}",
   "telegram": null
 }
}

امنیت

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

وابستگی‌ها

  • DB Facade
  • Carbon
  • Hash Facade

کارایی

درج مستقیم بدون Transaction، میانگین زمان پاسخ: 4ms.

خطا

  • اگر داده کلیدی وجود نداشته باشد، پاسخ 422 از Validator بالادستی بازمی‌گردد.

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

در نسخه فعلی لاگی برای SystemLog ثبت نمی‌شود ولی زیرساخت آن آماده است.

  • افزودن تراکنش DB برای atomic بودن Insertها.
  • ایجاد هش slug داخلی جهت یکتایی اپراتور.

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