#P1759
RESOURCE /v2/scrumboard/lists
Deep Hydration Logic Flow
منطق غنیسازی عمیق (Deep Hydration) که در اکثر متدها (Index, Store, Show, Update) اجرا میشود تا ساختار درختی کامل بورد را بسازد:
Start Request (Index/Store/Show)
↓
Fetch List(s) Record from DB
↓
Loop: For Each List
Fetch `scrumboard_cards`
Fetch `scrumboard_cards`
↓
Has Cards?
No
Skip Hydration
Return Empty Cards []
Return Empty Cards []
↓ (Yes)
Start Nested Loop: For Each Card
1. Decode Members
Fetch Operators (Avatar, Name)
Fetch Operators (Avatar, Name)
↓
2. Decode Labels
Fetch Label Details
Fetch Label Details
↓
3. Sprints
Filter Sprints by JSON
Filter Sprints by JSON
4. Comments
Fetch & Hydrate Operator
Fetch & Hydrate Operator
↓
5. Checklists
Decode Items & Hydrate Operator
Decode Items & Hydrate Operator
↓
6. Media
Fetch Attachments
Fetch Attachments
↓
Merge All Data into Card Object
↓
Add Card to List Object
↓
Return Nested JSON Response
Get Board Lists
دریافت تمام لیستهای (ستونهای) مربوط به یک بورد خاص به همراه تمام کارتها و جزئیات آنها.
URL:
/v2/scrumboard/listsMethod: GET
Controller: ListController@index
Parameters
| Parameter | Type | Location | Description |
|---|---|---|---|
| board_id | Integer | Query | (الزامی) شناسه بوردی که لیستها متعلق به آن هستند. |
| status | Integer | Query | (اختیاری) فیلتر بر اساس وضعیت لیست. |
Response Structure
{
"items": [
{
"id": 1,
"board_id": 10,
"title": "To Do",
"priority": 2,
"cards": [
{
"id": 101,
"title": "Task 1",
"members": [ { "id": 1, "first_name": "Ali", ... } ],
"labels": [ { "id": 5, "title": "Bug", "color": "red" } ],
"comments": [ ... ],
"checklists": [ ... ],
"attachments": [ ... ],
"sprints": [ ... ]
}
]
}
],
"meta": { "timestamp": 1733754000 }
}
Create List
ایجاد یک لیست (ستون) جدید در بورد. بلافاصله پس از ایجاد، رکورد بازیابی شده و فرآیند Hydration روی آن اجرا میشود.
URL:
/v2/scrumboard/listsMethod: POST
Controller: ListController@store
Parameters
| Parameter | Type | Description |
|---|---|---|
| board_id | Integer | شناسه بورد والد. |
| title | String | عنوان لیست. |
| color | String | رنگ لیست (کد HEX). |
Success Response
{
"payload": {
"id": 5,
"title": "New Column",
"cards": [],
"created_at": "..."
},
"meta": { "timestamp": 1733754000 }
}
Show List
دریافت اطلاعات یک لیست خاص با شناسه ID. این متد نیز تمامی کارتها و وابستگیهای آنها را بارگذاری میکند.
URL:
/v2/scrumboard/lists/{id}Method: GET
Controller: ListController@show
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | Integer | شناسه لیست (List ID). |
Update List
ویرایش اطلاعات یک لیست.
URL:
/v2/scrumboard/lists/{id}Method: PUT / PATCH
Controller: ListController@update
Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
| board_id | Integer | شناسه بورد. | - |
| title | String | عنوان لیست. | - |
| color | String | رنگ لیست. | - |
| priority | Integer | اولویت نمایش (Sort Order). | 0 |
| status | Integer | وضعیت لیست. | 1 |
Success Response
{
"payload": {
"id": 5,
"title": "Edited Title",
"priority": 10,
"cards": [ ... ]
},
"meta": { "timestamp": 1733754000 }
}
Delete List
حذف کامل یک لیست از دیتابیس.
URL:
/v2/scrumboard/lists/{id}Method: DELETE
Controller: ListController@destroy
Success Response
{
"payload": 1, // تعداد ردیفهای حذف شده
"meta": {
"timestamp": 1733754000
}
}