#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")
(e.g. Operator: 105, Title: "Financial Review")
↓
Saved in `cartable_subject_steps`
Selectable in Subject Workflow Config
List Step Definitions
دریافت لیست مراحل تعریف شده. این لیست بر اساس تاریخ ایجاد (نزولی) مرتب شده است.
URL:
/v2/cartable/subject_stepsMethod: 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_stepsMethod: 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 }
}