#P1558
GET /api/v2/tasks/list
Route Info
| Method | Endpoint | Controller @ Method | Middleware |
|---|---|---|---|
| GET | /api/v2/tasks/list | OfficialController@listTasks | authWithJwt |
معماری و منطق پردازش (Processing Logic)
این متد لیست وظایف را دریافت کرده و برای تکمیل اطلاعات (Data Hydration)، توابع کمکی استاتیک را روی نتایج اجرا میکند:
- واکشی اطلاعات اپراتورها (Operator Resolution):
متدStaticController::getOperatorsفراخوانی میشود. این تابع، شناسه (ID) یا آرایهای از شناسهها را دریافت کرده و خروجی را به صورت یک لیست برمیگرداند که شامل:- فیلد
text: ترکیب شناسه پرسنلی و نام. - آبجکت
query: تمام جزئیات رکورد جدول operators.
- فیلد
- بررسی اتصال به رفرنس (Connection Hydration):
اگر تسک دارای اتصال باشد، متدOfficialController::getConnectionاجرا میشود. برای نوع reference، سیستم ابتدا Redis را بررسی میکند. اگر اطلاعات موجود نباشد، متدTradeController::financialاجرا شده و نتیجه کش (Cache) میشود.
ساختار پاسخ (Response Structure)
خروجی زیر دقیقاً بر اساس کدهای getOperators و getConnection تولید شده است:
{
"status": true,
"time": 1732047000,
"data": [
{
"id": 105,
"title": "Sample Task Title",
"category": {
"id": 12,
"title": "Development"
},
// Generated by StaticController::getOperators
"user": [
{
"id": 50,
"text": "10050 - Ali Mohammadi",
"query": {
"id": 50,
"sex": "male",
"first_name": "Ali",
"last_name": "Mohammadi",
"telegram": "ali_dev",
"group": "IT",
"avatar": "path/img.jpg",
"position": "Developer",
"personnel_id": "10050"
}
}
],
// Generated by StaticController::getOperators
"operators": [
{
"id": 51,
"text": "10051 - Reza Alavi",
"query": {
"id": 51,
"sex": "male",
"first_name": "Reza",
"last_name": "Alavi",
"telegram": "reza_acc",
"group": "Accounting",
"avatar": null,
"position": "Accountant",
"personnel_id": "10051"
}
}
],
// Generated by OfficialController::getConnection
"connection": [
{
"id": 2050,
"type": "reference",
"title": "Redis Cached Title",
"financial": {
"total_price": 50000000,
"paid": 20000000,
"remaining": 30000000,
"status": "debtor"
}
}
],
"priority": 1,
"order": 0,
"description": "Task description details...",
"deadline": "2025-02-20",
"status": 1,
"created": "2025-02-18 10:30:00"
}
]
}