#P1470

POST /api/v2/dashboard

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/dashboard V2BaseController@dashboard authWithJwt واکشی داده‌های تحلیلی و وضعیت سرویس‌های پایه برای صفحه داشبورد اپراتور

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

تابع dashboard داده‌های اصلی سامانه (وضعیت ارتباط با سرویس‌های وابسته، تعداد آیتم‌های فعال، هشدارهای مرکزی و زمان آخرین همگام‌سازی) را جمع‌آوری و بازگردانی می‌کند:
  • بررسی صحت اتصال با سرور مرکزی (hub یا service route) از طریق تابع اختصاصی اتصال.
  • واکشی مقادیر و وضعیت‌های کلیدی برای اپراتور فعلی.
  • در صورت اتصال موفق: بازگرداندن تعداد آیتم‌های فعال در فرمت active.
  • در صورت شکست اتصال یا خطای ارتباطی، برگرداندن پیام Lack of connection with the central server.
  • پوشش خطاهای Exception و بازگرداندن جزئیات آن در خروجی جهت بررسی سریع.

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

نام فیلد نوع داده الزامی توضیح
branch integer بله شناسه شعبهٔ جاری برای بررسی وضعیت اتصال و سرویس‌های فعال
operator_id integer خیر شناسه اپراتور برای ثبت یا تطبیق داده‌های dashboard

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

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

{
  "branch": 12
}

خروجی (Response)

فیلد نوع داده توضیح
status boolean وضعیت کلی ارتباط (true = اتصال موفق)
time integer زمان UNIX درخواست
active integer تعداد آیتم‌های فعال در سیستم مرکزی
data[] array داده‌های حاصل از سرویس مرکزی در صورت اتصال موفق
message string پیام خطا در صورت قطع ارتباط

نمونه پاسخ:

{
  "status": true,
  "time": 1732289412,
  "active": 7,
  "data": [{"service":"train","status":"OK"},{"service":"accommodation","status":"OK"}]
}

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

نکات کارایی و Performance

وابستگی‌ها

کدهای خطا و پاسخ‌های Exception

کد خطا شرح خطا منبع
400 Database یا ارتباط ناموفق با سرویس مرکزی dashboard()
1006 JWT غیر معتبر authWithJwt()
500 Exception عمومی در runtime Exception handler

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

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

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

جمع‌بندی

تابع dashboard یکی از نقاط اصلی گزارش وضعیت سیستم است که ارتباط لحظه‌ای و تعداد آیتم‌های فعال را نمایش می‌دهد. ساختار خروجی به اندازه کافی خواناست؛ اما نبود ممیزی و کنترل سطح دسترسی، آن را در محیط‌های production ناایمن می‌سازد. توصیه می‌شود role-based limitation و audit logging برای پایداری enterprise لحاظ گردد.

Revision #1
Created 2025-11-22 13:24:15 UTC by Alireza
Updated 2025-11-22 13:24:51 UTC by Alireza