#P1471

POST /api/v2/operator/details

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/operator/details V2BaseController@operatorDetails authWithJwt دریافت جزئیات اپراتور شامل اطلاعات شعبه، نقش‌ها، تنظیمات و وضعیت فعال‌سازی

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

تابع operatorDetails با استفاده از شناسه اپراتور از توکن JWT، اطلاعات دقیق اپراتور فعلی را از جداول اصلی استخراج می‌کند:
  • واکشی اطلاعات از جدول operators شامل نام، نام‌کاربری، ایمیل، سطح دسترسی و نقش.
  • تطبیق شناسه شعبه مربوطه از جدول offices جهت دریافت نام و موقعیت مکانی.
  • بررسی تنظیمات مرتبط با پنل از جدول settings شامل تم، رنگ پایه، لوگو و favicon.
  • درصورت تعریف APIهای خارجی برای شعبه (SMS یا API مرکزی)، افزودن اطلاعات از application_interface.
  • جمع‌بندی داده‌ها و بازگرداندن ساختار JSON نهایی.

ورودی‌ها (Request Fields)

نام فیلد نوع داده الزامی توضیح
branch integer بله شناسه شعبه‌ای که اپراتور در آن فعالیت می‌کند
operator_id integer خیر شناسه اپراتور (در JWT موجود است)

نمونه درخواست:

POST /api/v2/operator/details
Authorization: Bearer {JWT_TOKEN}
Content-Type: application/json

{
  "branch": 9
}

خروجی (Response)

فیلد نوع داده توضیح
status boolean وضعیت موفقیت درخواست
meta.timestamp integer زمان پاسخ سرور
data.profile object اطلاعات شخصی و کاری اپراتور
data.office object مشخصات شعبه
data.settings object تم و تنظیمات رابط کاربری
data.apis array لیست APIهای فعال برای شعبه

نمونه پاسخ:

{
  "status": true,
  "meta": { "timestamp": 1732290051 },
  "data": {
    "profile": {
      "id": 51,
      "name": "علیرضا ایرانپور",
      "role": "operator",
      "email": "a.iranpour88@gmail.com"
    },
    "office": {
      "id": 9,
      "name": "دفتر اصفهان",
      "country": "IR"
    },
    "settings": {
      "theme": "dark",
      "base_color": "#212121",
      "favicon": "/media/icons/favicon.ico"
    },
    "apis": [
      { "type": "sms", "service": "melipayamak", "status": 1 },
      { "type": "hub", "url": "https://hub.airplus.app/api/v2" }
    ]
  }
}

نکات امنیتی

عملکرد و کارایی

وابستگی‌ها

کدهای خطا

کد شرح خطا منبع
1006 توکن JWT غیر معتبر یا منقضی شده authWithJwt
400 داده ناقص یا branch نامعتبر Input Validation
500 خطا در واکشی داده‌ها از DB operatorDetails()

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

پیشنهادهای بهبود

ممیزی و لاگ‌ها

جمع‌بندی

مسیر /operator/details برای مدیریت داخلی طراحی شده و اطلاعات کلیدی اپراتور را بدون واسطه برمی‌گرداند. در محیط production نیاز به کنترل دقیق نقش‌ها و محدودسازی پاسخ دارد تا از افشای جزئیات مدیریتی جلوگیری شود.

Revision #1
Created 2025-11-22 13:25:01 UTC by Alireza
Updated 2025-11-22 13:25:31 UTC by Alireza