#P1558
GET /api/v2/tasks/list
Route Info
| Method | Endpoint | Controller | Middleware |
| GET | /api/v2/tasks/list | OfficialController@listTasks | authWithJwt |
معماری و منطق پردازش (Processing Logic & Architecture)
این اندپوینت به عنوان نقطه ورود (Entry Point) برای واکشی لیست وظایف عمل کرده و فرآیند استخراج دادهها را طی یک مکانیزم چندمرحلهای (Multi-Stage Retrieval) به شرح زیر مدیریت میکند:
- مقداردهی و آمادهسازی کوئری (Query Initialization):
درخواست به متد داخلی
getTasksارجاع داده میشود. در این مرحله، یک نمونه از Query Builder روی جدولtasks_itemsایجاد شده و جهت استخراج متادیتای دستهبندیها، عملیاتLEFT JOINبا جدولtasks_categoriesصورت میپذیرد. - فیلترینگ و اعمال شرایط (Conditional Filtering):
سیستم بر اساس پارامترهای ورودی، دامنه جستجو را محدود میکند. در صورتی که پارامتر
categoryدر بدنه درخواست موجود باشد، شرط انطباق (Exact Match) روی ستونcategoryاعمال میگردد. همچنین فیلترهای پایه برای وضعیتهای فعال (Active Status) بهصورت پیشفرض روی کوئری لحاظ میشوند. - مرتبسازی دادهها (Sorting Strategy):
نتایج خروجی بر اساس اولویت نمایشی (
order) و سپس ترتیب زمانی ایجاد (id) مرتبسازی میشوند تا ساختار سلسلهمراتبی بصری حفظ گردد. - غنیسازی دادهها و نگاشت روابط (Data Hydration & Relation Mapping):
پس از اجرای کوئری اولیه، سیستم وارد فاز پردازش ثانویه (Post-Processing) میشود. در این مرحله، روی مجموعه نتایج (Result Set) پیمایش صورت گرفته و برای هر موجودیت (Entity)، دادههای وابسته زیر به صورت بلادرنگ (Real-time) بارگذاری و به آبجکت اصلی ملحق (Hydrate) میشوند:
- User Resolution: واکشی مشخصات کامل کاربر سازنده از طریق متد
StaticController::getOperators. - Connection Context: بررسی و استخراج اطلاعات اتصال (Connection) مرتبط با تسک از طریق متد
OfficialController::getConnection. - Assignee Aggregation: بازیابی لیست کامل اپراتورهای تخصیصیافته به تسک و جزئیات پروفایل آنها جهت نمایش در رابط کاربری.
- User Resolution: واکشی مشخصات کامل کاربر سازنده از طریق متد
پارامترهای ورودی (Query Parameters)
| نام پارامتر | نوع داده (Type) | وضعیت (Requirement) | توضیحات فنی |
|---|---|---|---|
| category | Integer | Optional | شناسه یکتای دستهبندی (Foreign Key) جهت فیلتر کردن اسکوپ نمایش تسکها. |
ساختار پاسخ (Response Structure)
خروجی نهایی به صورت یک آبجکت JSON استاندارد شامل وضعیت درخواست، برچسب زمانی سرور و آرایهای از آبجکتهای غنیشده (Enriched Objects) بازگردانده میشود:
{
"status": true,
"time": 1732047000,
"data": [
{
"id": 105,
"user": { // Object: Creator Profile
"id": 50,
"name": "System Admin",
"role": "Manager"
},
"category": { // Object: Category Metadata
"id": 12,
"title": "Development"
},
"title": "Refactor API Logic",
"connection": false, // Boolean/Object: Connection Context
"priority": 1,
"order": 0,
"description": "Analyze and document the trade controller...",
"deadline": "2025-01-01",
"operators": [ // Array: Assigned Operators
{ "id": 51, "name": "Developer 1" },
{ "id": 52, "name": "Developer 2" }
],
"status": 1,
"created": "2024-12-01 10:00:00"
}
]
}