# RESOURCE /v2/scrumboard/comments

<div class="api-docs" id="bkmrk-">  <div class="endpoint-section">  
</div></div>## Comment Operator Hydration

در تمامی متدها (لیست، ثبت، نمایش و ویرایش)، سیستم پس از دریافت اطلاعات کامنت از جدول `scrumboard\_comments`، به صورت دستی اطلاعات اپراتور (نویسنده کامنت) را از جدول `operators` استخراج کرده و به پاسخ اضافه می‌کند.

<div class="api-docs" id="bkmrk-fetch-comment%28s%29-%E2%86%93-e"><div class="endpoint-section"><div class="flowchart"><div class="flow-item">Fetch Comment(s)</div><div class="flow-arrow">↓</div><div class="flow-item-process" style="background-color: #e3f2fd;">**Enrich with Operator**  
Input: operator_id  
Query: SELECT id, first_name, last_name, avatar FROM operators WHERE id = ?  
Result: Attach object to `operator` field</div><div class="flow-arrow">↓</div><div class="flow-item-success">Return JSON Response</div></div></div>  
---

  </div># Get Card Comments

دریافت لیست نظرات ثبت شده برای یک کارت (Card). این متد امکان فیلتر کردن بر اساس اپراتور و وضعیت را نیز دارد.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/comments`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** CommentController@index</div></div></div>### Parameters

<div class="api-docs" id="bkmrk-parameter-type-locat"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Location</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">card\_id</td><td>Integer</td><td>Query</td><td>(الزامی) شناسه کارتی که نظرات مربوط به آن است.</td></tr><tr><td dir="ltr">operator\_id</td><td>Integer</td><td>Query</td><td>(اختیاری) فیلتر نظرات یک اپراتور خاص.</td></tr><tr><td dir="ltr">status</td><td>Integer</td><td>Query</td><td>(اختیاری) فیلتر بر اساس وضعیت نظر.</td></tr></tbody></table>

</div>### Response Structure

```json
{
    "items": [
        {
            "id": 10,
            "card_id": 55,
            "operator_id": 3,
            "message": "This needs to be fixed ASAP.",
            "ip_address": "192.168.1.5",
            "status": 1,
            "created_at": "2024-01-01 12:00:00",
            "updated_at": "2024-01-01 12:00:00",
            "operator": {
                "id": 3,
                "first_name": "John",
                "last_name": "Doe",
                "first_name_en": "John",
                "last_name_en": "Doe",
                "avatar": "path/to/avatar.jpg"
            }
        }
    ],
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--1">---

  </div># Create Comment

ثبت یک نظر جدید برای یک کارت. آدرس IP کاربر به صورت خودکار توسط سیستم (`getIP()`) ذخیره می‌شود.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-1"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/comments`</div><div>**Method:** <span class="method-post">POST</span></div><div>**Controller:** CommentController@store</div></div></div>### Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">card\_id</td><td>Integer</td><td>شناسه کارت مربوطه.</td></tr><tr><td dir="ltr">operator\_id</td><td>Integer</td><td>شناسه اپراتوری که نظر را ثبت می‌کند.</td></tr><tr><td dir="ltr">message</td><td>String</td><td>متن نظر.</td></tr></tbody></table>

</div>### Success Response

```json
{
    "payload": {
        "id": 12,
        "card_id": 55,
        "operator_id": 3,
        "ip_address": "127.0.0.1",
        "message": "Task completed.",
        "created_at": "...",
        "updated_at": "...",
        "operator": {
            "id": 3,
            "first_name": "John",
            "last_name": "Doe",
            ...
        }
    },
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--2">---

  </div># Show Comment

مشاهده جزئیات یک نظر خاص با استفاده از شناسه آن.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-2"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/comments/{id}`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** CommentController@show</div></div></div>### Path Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr-1"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>Integer</td><td>شناسه نظر.</td></tr></tbody></table>

</div>### Response

در صورت عدم یافتن رکورد، مقدار `payload: false` بازگردانده می‌شود.

```json
{
    "payload": {
        "id": 10,
        "message": "Specific comment details...",
        "operator": { ... },
        ...
    },
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--3">---

  </div># Update Comment

ویرایش متن، وضعیت و یا حتی انتقال نظر به کارت/اپراتور دیگر.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-3"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/comments/{id}`</div><div>**Method:** <span class="method-put">PUT</span> / <span class="method-patch">PATCH</span></div><div>**Controller:** CommentController@update</div></div></div>### Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr-2"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td dir="ltr">card\_id</td><td>Integer</td><td>شناسه کارت (جهت جابجایی نظر).</td><td>-</td></tr><tr><td dir="ltr">operator\_id</td><td>Integer</td><td>شناسه اپراتور (جهت تغییر نویسنده).</td><td>-</td></tr><tr><td dir="ltr">message</td><td>String</td><td>متن اصلاح شده نظر.</td><td>-</td></tr><tr><td dir="ltr">status</td><td>Integer</td><td>وضعیت نمایش نظر.</td><td>1</td></tr></tbody></table>

</div>### Success Response

```json
{
    "payload": {
        "id": 10,
        "message": "Updated message text",
        "status": 1,
        "updated_at": "...",
        "operator": { ... }
    },
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--4">---

  </div># Delete Comment

حذف دائمی یک نظر از دیتابیس.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-4"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/comments/{id}`</div><div>**Method:** <span class="method-delete">DELETE</span></div><div>**Controller:** CommentController@destroy</div></div></div>### Success Response

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