Skip to main content
#P1761

RESOURCE /v2/scrumboard/checklists


Checklist Hydration Logic

در تمامی متدها (لیست، ایجاد، نمایش، ویرایش)، داده‌های خام دیتابیس قبل از ارسال به کلاینت پردازش می‌شوند. فیلد `checkitems` از رشته JSON به آرایه تبدیل شده و شناسه `operator` به آبجکت کامل اپراتور تبدیل می‌گردد.

Fetch Record(s) from DB
Step 1: Decode Checkitems
Input: JSON String (e.g., "[{...}]")
Output: Array (or [] if null)
Step 2: Hydrate Operator
Input: Operator ID (Int)
Action: Fetch from `operators` table
Output: Object {id, name, avatar...}
Return Hydrated JSON


Get Card Checklists

دریافت لیست تمامی چک‌لیست‌های متصل به یک کارت (Card) مشخص. آیتم‌های داخلی چک‌لیست و اطلاعات اپراتور مسئول به صورت خودکار بارگذاری می‌شوند.

URL: /v2/scrumboard/checklists
Method: GET
Controller: ChecklistController@index

Parameters

Parameter Type Location Description
card_id Integer Query (الزامی) شناسه کارتی که چک‌لیست‌ها متعلق به آن هستند.
status Integer Query (اختیاری) فیلتر بر اساس وضعیت (مثلاً 1 فعال).

Response Structure

{
    "items": [
        {
            "id": 1,
            "card_id": 101,
            "title": "QA Testing",
            "checkitems": [
                { "text": "Test Login", "done": true },
                { "text": "Test Logout", "done": false }
            ],
            "operator": {
                "id": 5,
                "first_name": "Ali",
                "last_name": "Rezaei",
                "avatar": "path/to/img.jpg"
                ...
            },
            "duration": "2h",
            "status": 1,
            "created_at": "..."
        }
    ],
    "meta": { "timestamp": 1733754000 }
}

Create Checklist

ایجاد یک چک‌لیست جدید. کلاینت می‌تواند آرایه‌ای از آیتم‌ها (`checkitems`) را ارسال کند که در سمت سرور به JSON تبدیل و ذخیره می‌شود.

URL: /v2/scrumboard/checklists
Method: POST
Controller: ChecklistController@store

Parameters

Parameter Type Description
card_id Integer شناسه کارت والد.
title String عنوان کلی چک‌لیست.
checkitems Array آرایه‌ای از آبجکت‌ها (آیتم‌های تیک‌دار).
operator Integer شناسه اپراتور مسئول (اختیاری).
duration String مدت زمان تخمینی/صرف شده (اختیاری).

Success Response

{
    "payload": {
        "id": 15,
        "title": "Deployment Steps",
        "checkitems": [ ... ], // آرایه دیکد شده
        "operator": { ... },   // آبجکت اپراتور (اگر ارسال شده باشد)
        "created_at": "..."
    },
    "meta": { "timestamp": 1733754000 }
}

Show Checklist

دریافت جزئیات یک چک‌لیست خاص با شناسه ID.

URL: /v2/scrumboard/checklists/{id}
Method: GET
Controller: ChecklistController@show

Path Parameters

Parameter Type Description
id Integer شناسه چک‌لیست.

Response

اگر یافت نشود، payload: false برمی‌گرداند.

{
    "payload": {
        "id": 15,
        "title": "Deployment Steps",
        "checkitems": [],
        "operator": null,
        ...
    },
    "meta": { "timestamp": 1733754000 }
}

Update Checklist

ویرایش اطلاعات چک‌لیست. این متد معمولاً برای تغییر عنوان، وضعیت، تغییر مسئول (`operator`) یا به‌روزرسانی محتوای آیتم‌های داخلی (`checkitems`) استفاده می‌شود.

URL: /v2/scrumboard/checklists/{id}
Method: PUT / PATCH
Controller: ChecklistController@update

Parameters

Parameter Type Description Default
card_id Integer شناسه کارت. -
title String عنوان چک‌لیست. -
checkitems Array آرایه کامل آیتم‌ها (جایگزین قبلی می‌شود). null
operator Integer شناسه اپراتور جدید. null
duration String مدت زمان. null
status Integer وضعیت. 1

Success Response

{
    "payload": {
        "id": 15,
        "title": "Updated Title",
        "checkitems": [ ... ],
        "operator": { ... },
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733754000 }
}

Delete Checklist

حذف چک‌لیست از دیتابیس.

URL: /v2/scrumboard/checklists/{id}
Method: DELETE
Controller: ChecklistController@destroy

Success Response

{
    "payload": 1, // تعداد ردیف‌های حذف شده
    "meta": {
        "timestamp": 1733754000
    }
}