#P1423
GET /api/v2/flights/approved-rate
Route Info
| Method | Endpoint | Controller | Middleware | Purpose |
| GET | /api/v2/flights/approved-rate | V2TradeController@flightsApprovedRate | authWithJwt | نمایش دادههای آخرین نرخهای مصوب پروازی (Approved Flight Rate) |
منطق عملکرد
- تمام رکوردهای جدول
approved_flight_rateباstatus = 1دریافت میشوند. - با استخراج داده فرودگاهها از جدول
airports، عنوان فارسی و انگلیسی مبدأ و مقصد هر مسیر تکمیل میشود. - برای هر مسیر، روزهای فعال از جدول
airline_active_routeواکشی و خطوط هوایی مرتبط ازairlinesبه آنها نگاشت میشوند. - خروجی نهایی شامل مسیرها با جزئیات کامل، محدوده حداقل/حداکثر قیمت و آخرین تاریخ بهروزرسانی است.
پارامترهای ورودی
فاقد ورودی خاص است (بدون پارامترهای Query یا Body).
GET /api/v2/flights/approved-rate Authorization: Bearer
ساختار خروجی
{
"items": [
{
"route_id": 92,
"origin": {
"iata": "THR",
"title": {
"fa": "تهران (THR)",
"en": "Tehran (THR)"
}
},
"destination": {
"iata": "MHD",
"title": {
"fa": "مشهد (MHD)",
"en": "Mashhad (MHD)"
}
},
"least": 1450000,
"most": 4980000,
"active_days": [
{
"day": "monday",
"airline": {
"iata": "IR",
"title": {"fa": "ایرانایر", "en": "IranAir"}
}
}
]
}
],
"payload": {"update_at": "2025-11-15 08:41:00"},
"meta": {"timestamp": 1732028300}
}
امنیت
- JWT الزامی است.
- دسترسی به دادهها فقط در سطح مشاهده است؛ بدون اجازهی ویرایش.
وابستگیها
- DB::table('approved_flight_rate')
- DB::table('airports')
- DB::table('airlines')
- DB::table('airline_active_route')
کارایی
در اکثر محیطها (< 60 ms) به دلیل cache سیستم DB و joinهای کمعمق انجام میشود.
مدیریت خطا
- در صورت خطا در SQL یا Map دادهها، Exception با HTTP 400 بازگردانده میشود.
- ویژگی
traceشامل مسیر کامل stack جهت خطایابی است.
اثرات جانبی
فاقد اثر جانبی؛ صرفاً واکشی دادهها.
ردپای حسابرسی
در این روت لاگ ثبت نمیشود، ولی فراخوانیهای DB در Logهای سطح سیستم ردگیری میگردد.
پیشنهاد بهبود
- افزودن پارامتر Query برای فیلتر بر اساس مبدا، مقصد یا خطوط هواپیمایی.
- ایجاد cache json در سطح application.
جمعبندی
این Endpoint به عنوان سرویس اطلاعات مرجع نرخهای رسمی پروازی عمل میکند و در ماژول Flight Rate Monitor استفاده میشود.