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` ↓ Has Cards? No Skip Hydration Return Empty Cards [] ↓ (Yes) Start Nested Loop: For Each Card 1. Decode Members Fetch Operators (Avatar, Name) ↓ 2. Decode Labels Fetch Label Details ↓ 3. Sprints Filter Sprints by JSON 4. Comments Fetch & Hydrate Operator ↓ 5. Checklists Decode Items & Hydrate Operator ↓ 6. Media Fetch Attachments ↓ Merge All Data into Card Object ↓ Add Card to List Object ↓ Return Nested JSON Response Get Board Lists دریافت تمام لیست‌های (ستون‌های) مربوط به یک بورد خاص به همراه تمام کارت‌ها و جزئیات آن‌ها. URL: /v2/scrumboard/lists Method: 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/lists Method: 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 } }