Skip to main content
#P1768

RESOURCE /v2/cartable/subject_steps


Subject Steps Management Logic

این کنترلر وظیفه مدیریت مراحل پیش‌فرض (Step Templates) را بر عهده دارد.
این جدول (`cartable_subject_steps`) به عنوان یک بانک اطلاعاتی از مراحل عمل می‌کند که شامل یک عنوان (`title`) و یک اپراتور مسئول (`operator`) است. این مراحل مستقل هستند اما می‌توانند هنگام تعریف گردش کار (Workflow) در بخش Subjectها مورد استفاده قرار گیرند.

Admin Define Step Template
Assign Operator & Title
(e.g. Operator: 105, Title: "Financial Review")
Saved in `cartable_subject_steps`

Selectable in Subject Workflow Config


List Step Definitions

دریافت لیست مراحل تعریف شده. این لیست بر اساس تاریخ ایجاد (نزولی) مرتب شده است.

URL: /v2/cartable/subject_steps
Method: GET
Controller: SubjectStepsController@index

Query Parameters

Parameter Type Description
operator Integer (اختیاری) فیلتر بر اساس شناسه اپراتور مسئول.
status Integer (اختیاری) فیلتر بر اساس وضعیت مرحله (اگرچه در متد Store فیلد status ست نمی‌شود، اما در Index قابل فیلتر است).

Response Structure

{
    "items": [
        {
            "id": 10,
            "operator": 105,
            "title": "بررسی مالی",
            "created_at": "...",
            "updated_at": "..."
        }
    ],
    "meta": { "timestamp": 1733760000 }
}

Create Step Definition

ایجاد یک تعریف مرحله جدید (Template).

URL: /v2/cartable/subject_steps
Method: POST
Controller: SubjectStepsController@store

Body Parameters

Parameter Type Description
operator Integer (الزامی) شناسه اپراتوری که مسئول انجام این مرحله است.
title String (الزامی) عنوان مرحله (مثلاً: "تایید نهایی").

Success Response

{
    "payload": {
        "id": 15,
        "operator": 105,
        "title": "تایید نهایی",
        "created_at": "...",
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733760000 }
}

Show Step Details

مشاهده جزئیات یک مرحله خاص.

URL: /v2/cartable/subject_steps/{id}
Method: GET
Controller: SubjectStepsController@show

Response Structure

{
    "payload": {
        "id": 15,
        "operator": 105,
        "title": "تایید نهایی",
        "created_at": "...",
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733760000 }
}

Update Step Definition

ویرایش اطلاعات اپراتور یا عنوان مرحله.

URL: /v2/cartable/subject_steps/{id}
Method: PUT / PATCH
Controller: SubjectStepsController@update

Body Parameters

Parameter Type Description
operator Integer شناسه اپراتور جدید.
title String عنوان جدید مرحله.

Success Response

{
    "payload": {
        "id": 15,
        "operator": 200, // Updated
        "title": "تایید مدیریت ارشد", // Updated
        "created_at": "...",
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733760000 }
}

Delete Step Definition

حذف فیزیکی (Hard Delete) یک مرحله از دیتابیس.
هشدار: اگر این مرحله در Subjectها استفاده شده باشد، ممکن است باعث ناهماهنگی در تنظیمات شود (بسته به منطق فرانت‌اند). در اینجا حذف کامل انجام می‌شود.

URL: /v2/cartable/subject_steps/{id}
Method: DELETE
Controller: SubjectStepsController@destroy

Success Response

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