Skip to main content
#P1561

GET /api/v2/tasks/task/details

Route Info

Method Endpoint Controller
GET /api/v2/tasks/task/details OfficialController@getTasksDetails

شرح عملکرد (Functionality)

این متد جزئیات تکمیلی یک تسک مشخص را که شامل یادداشت‌ها (Notes) و چک‌لیست‌ها (Checklists) است، بازیابی می‌کند. منطق عملکرد به شرح زیر است:

  • یادداشت‌ها (Notes):
    • اطلاعات از جدول tasks_notes بر اساس شناسه تسک دریافت می‌شود.
    • اطلاعات کاربر نویسنده یادداشت (`user`) با فراخوانی StaticController::getOperators هیدراته می‌شود. از آنجا که ایندکس [0] انتخاب شده، خروجی کاربر یک آبجکت است.
  • چک‌لیست (Checklist):
    • آیتم‌ها از جدول tasks_item_checklist واکشی می‌شوند.
    • وضعیت انجام کار (`done`) به صورت Boolean محاسبه می‌شود.
    • اگر آیتم انجام شده باشد (`done_at` نال نباشد)، اطلاعات کاربری که آن را انجام داده (`done_by`) نیز به صورت یک آبجکت کامل کاربر برگردانده می‌شود. در غیر این صورت، مقدار false برمی‌گردد.

پارامترهای ورودی (Input Parameters)

نام پارامتر نوع الزامی؟ توضیحات
id Integer بله شناسه تسک (Task ID) که جزئیات آن مورد نیاز است.

نمونه خروجی (Response)

خروجی شامل آبجکت payload است که دو بخش اصلی notes و checklist را در بر می‌گیرد.

{
    "payload": {
        "notes": [
            {
                "user": {
                    "id": 10,
                    "text": "1001 - نام کاربر",
                    "query": { ... } // جزئیات کامل کاربر
                },
                "note": "این یک یادداشت نمونه برای تسک است.",
                "created": "2024-11-25T10:00:00.000000Z"
            }
        ],
        "checklist": [
            {
                "id": 55,
                "operator": { // کاربری که آیتم چک‌لیست را ایجاد کرده
                    "id": 10,
                    "text": "1001 - ایجاد کننده",
                    "query": { ... }
                },
                "content": "بررسی مستندات فنی",
                "done": true,
                "done_by": { // کاربری که آیتم را تیک زده (انجام داده)
                    "id": 12,
                    "text": "1002 - انجام دهنده",
                    "query": { ... }
                },
                "done_at": "2024-11-26 14:30:00",
                "created_at": "2024-11-25T09:00:00.000000Z"
            },
            {
                "id": 56,
                "operator": { ... },
                "content": "تست نهایی روی سرور استیج",
                "done": false,
                "done_by": false, // چون انجام نشده
                "done_at": false, // چون انجام نشده
                "created_at": "2024-11-25T09:05:00.000000Z"
            }
        ]
    },
    "meta": {
        "timestamp": 1732616000
    }
}