#P1467

POST /api/v2/titles/list

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/titles/list V2BaseController@baseAutomationData authWithJwt دریافت لیست عنوان‌های ثابت یا داده‌های ساختاری جدول‌های پایه مانند room_type، room_rate و room_view

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

تابع baseAutomationData بر اساس table و action پارامتر دریافت‌شده از درخواست، داده‌های عنوانی مورد نیاز را واکشی و پردازش می‌کند:
  • اگر table برابر با hotel_title باشد، بر اساس مقدار action یکی از سه حالت room_type، room_rate یا room_view اجرا می‌شود.
  • دریافت محتوا از جدول hotel_titles با انتخاب فیلد data و دیکد آن به JSON.
  • ساخت آرایه نهایی fixedTitles با فیلدهای title_fa، title_en، property، status، و selected.
  • ارسال خروجی استاندارد به صورت JSON به همراه زمان UNIX در فیلد time.

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

نام فیلد نوع داده الزامی توضیح
table string بله نام جدول در دیتابیس (فقط hotel_title در حال حاضر)
action string بله زیرعملیات مربوط به جدول (مقادیر: room_type، room_rate، room_view)

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

POST /api/v2/titles/list
Authorization: Bearer {JWT_TOKEN}
Content-Type: application/json

{
  "table": "hotel_title",
  "action": "room_type"
}

خروجی (Response)

فیلد نوع داده توضیح
status boolean وضعیت کلی درخواست
time integer زمان واکنش سرور
data.titles[] array لیست عنوان‌های ثابت با فیلدهای زبان، وضعیت و ویژگی‌ها

نمونه پاسخ:

{
  "status": true,
  "time": 1732289234,
  "data": {
    "titles": [
      {"title_fa": "سوئیت دونفره", "title_en": "Double Suite", "property": "2 beds", "status": true, "selected": false},
      {"title_fa": "اتاق رو به دریا", "title_en": "Sea View Room", "status": true, "selected": true}
    ]
  }
}

امنیت و کنترل دسترسی

نکات کارایی و پیاده‌سازی

وابستگی‌ها

کدهای خطا و خروجی‌های Exception

کد خطا شرح منبع
400 Database Exception → Trace بازگردانده می‌شود. baseAutomationData
1006 JWT token منقضی یا نامعتبر. AuthWithJWT

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

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

ممیزی دسترسی و لاگ‌ها

جمع‌بندی

این Endpoint مسیر اصلی دریافت عنوان‌های پارامتری در سیستم اتوماسیون است. ساختار ساده و خروجی یکسان باعث سهولت مصرف در فرانت‌اند می‌شود، اما عدم وجود validation و cache منجر به ضعف امنیت و Performance در حجم بالا خواهد شد. توصیه می‌شود Refactor در لایهٔ Service و اعمال TTL روی داده‌های ثابت انجام گیرد.

Revision #1
Created 2025-11-22 13:21:02 UTC by Alireza
Updated 2025-11-22 13:21:17 UTC by Alireza