#P1692
GET /v2/academy/categories/view
Academy: View Categories
این اندپوینت برای دریافت لیست دستهبندیهای فعال آکادمی استفاده میشود. تنها رکوردهایی که status = 1 دارند واکشی میشوند و دادهها در ساختار استاندارد شامل فیلدهای id، slug، flag، title، description و status بازگردانده میشوند.
URL:
/v2/academy/categories/viewMethod: GET
Controller: AcademyController@viewCategories
Middleware: authWithJwt
Auth: JWT Required
Request
این اندپوینت هیچ پارامتر اجباری یا اختیاری دریافت نمیکند.
Controller Logic
public function viewCategories(Request $request)
{
$resultCategories = DB::table('academy_categories')->where("status", 1)->get();
$categories = [];
foreach ($resultCategories as $category) {
$categories[] = [
"id" => $category->id,
"slug" => $category->slug,
"flag" => $category->flag,
"title" => [
"fa" => $category->title_fa,
"en" => $category->title_en
],
"description" => $category->description,
"status" => $category->status
];
}
return [
"status" => true,
"time" => time(),
"data" => $categories
];
}
Response Structure
| Field | Type | Description |
|---|---|---|
| status | boolean | همیشه true در صورت اجرای موفق |
| time | integer (timestamp) | زمان پاسخ |
| data | array | لیست دستهبندیها |
Category Object
| Field | Type | Description |
|---|---|---|
| id | integer | شناسه دستهبندی |
| slug | string | اسلاگ یکتا |
| flag | string | فلگ/برچسب دستهبندی |
| title.fa | string | عنوان فارسی |
| title.en | string | عنوان انگلیسی |
| description | string | توضیحات دستهبندی |
| status | integer | وضعیت دستهبندی (فقط 1 بازگردانده میشود) |
Example Response
Status: 200 OK
{
"status": true,
"time": 1730000000,
"data": [
{
"id": 4,
"slug": "frontend",
"flag": "fe",
"title": {
"fa": "فرانتاند",
"en": "Frontend"
},
"description": "دستهبندی آموزشهای تخصصی فرانتاند",
"status": 1
},
...
]
}
Flowchart
Validate JWT
↓
Fetch categories where status = 1
↓
Transform DB rows → array
↓
Return status=true + data + time()