#P1722
RESOURCE /v2/places
Article Places Management
این بخش مربوط به مدیریت مکانهای نمایش (Places) مقالات است.
مکانها احتمالاً نواحی خاصی در سایت هستند (مثل "اسلایدر اصلی"، "اخبار فوری") که مقالات یا دستهبندیها به آنها منتسب میشوند.
1. List Places (Index)
URL:
/v2/placesMethod: GET
Controller: PlaceController@index
لیست مکانها را برمیگرداند. برای هر مکان، دستهبندیهای متصل به آن نیز (که در جدول articles_categories تعریف شدهاند) واکشی و ضمیمه میشوند.
فیلترها و منطق کوئری
- فیلتر Branch: سیستم مکانهایی را برمیگرداند که `branch` آنها برابر با برنچ کاربر جاری باشد یا برابر با
0(سراسری) باشد. - فیلتر Type: اگر پارامتر
typeدر URL ارسال شود، نتایج بر اساس آن فیلتر میشوند.
ساختار پاسخ (Different Response Structure)
توجه کنید که آرایه اصلی در کلید items قرار دارد.
{
"items": [
{
"id": 1,
"title": "Home Slider",
"type": "slider",
"branch": 0,
"status": 1,
"categories": [
{
"id": 5,
"title": "Top News",
"places": "[1, 2]"
}
]
}
],
"meta": {
"total": 1,
"time": 1715020000
}
}
2. Create Place (Store)
URL:
/v2/placesMethod: POST
Controller: PlaceController@store
ایجاد یک مکان جدید در جدول articles_places.
بدنه درخواست (Body Parameters)
| Field | Type | Description |
|---|---|---|
| title | string | (الزامی) عنوان مکان |
| type | string | نوع مکان (مثلاً slider, sidebar) |
| status | integer | وضعیت (1 فعال، 0 غیرفعال) |
| branch | integer | شناسه شعبه (معمولاً از توکن یا ورودی گرفته میشود) |
3. Show Place
URL:
/v2/places/{id}Method: GET
Controller: PlaceController@show
نمایش جزئیات یک مکان خاص.
در اینجا نیز کوئری دوم اجرا میشود تا تمام دستهبندیهایی که این مکان در فیلد places (JSON) آنها وجود دارد، پیدا شده و به خروجی اضافه شوند.
4. Update Place
URL:
/v2/places/{id}Method: PUT/PATCH
Controller: PlaceController@update
ویرایش اطلاعات مکان. پارامترها مشابه متد Store است.
{
"status": true,
"time": 1715020500
}
5. Delete Place
URL:
/v2/places/{id}Method: DELETE
Controller: PlaceController@destroy
حذف رکورد از جدول articles_places.