Skip to main content
#P1762

RESOURCE /v2/scrumboard/comments


Comment Operator Hydration

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

Fetch Comment(s)
Enrich with Operator
Input: operator_id
Query: SELECT id, first_name, last_name, avatar FROM operators WHERE id = ?
Result: Attach object to `operator` field
Return JSON Response


Get Card Comments

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

URL: /v2/scrumboard/comments
Method: GET
Controller: CommentController@index

Parameters

Parameter Type Location Description
card_id Integer Query (الزامی) شناسه کارتی که نظرات مربوط به آن است.
operator_id Integer Query (اختیاری) فیلتر نظرات یک اپراتور خاص.
status Integer Query (اختیاری) فیلتر بر اساس وضعیت نظر.

Response Structure

{
    "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 }
}

Create Comment

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

URL: /v2/scrumboard/comments
Method: POST
Controller: CommentController@store

Parameters

Parameter Type Description
card_id Integer شناسه کارت مربوطه.
operator_id Integer شناسه اپراتوری که نظر را ثبت می‌کند.
message String متن نظر.

Success Response

{
    "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 }
}

Show Comment

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

URL: /v2/scrumboard/comments/{id}
Method: GET
Controller: CommentController@show

Path Parameters

Parameter Type Description
id Integer شناسه نظر.

Response

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

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

Update Comment

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

URL: /v2/scrumboard/comments/{id}
Method: PUT / PATCH
Controller: CommentController@update

Parameters

Parameter Type Description Default
card_id Integer شناسه کارت (جهت جابجایی نظر). -
operator_id Integer شناسه اپراتور (جهت تغییر نویسنده). -
message String متن اصلاح شده نظر. -
status Integer وضعیت نمایش نظر. 1

Success Response

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

Delete Comment

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

URL: /v2/scrumboard/comments/{id}
Method: DELETE
Controller: CommentController@destroy

Success Response

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