Files
sam-api/app/Http/Controllers/Api/V1/CategoryController.php
2025-08-22 18:08:57 +09:00

59 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers\Api\V1;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Services\CategoryService;
use App\Helpers\ApiResponse;
class CategoryController extends Controller
{
public function __construct(private CategoryService $service) {}
public function index(Request $request)
{
return ApiResponse::handle(fn () => $this->service->index($request->all()), '카테고리 목록 조회');
}
public function show(int $id)
{
return ApiResponse::handle(fn () => $this->service->show($id), '카테고리 단건 조회');
}
public function store(Request $request)
{
return ApiResponse::handle(fn () => $this->service->store($request->all()), '카테고리 생성');
}
public function update(int $id, Request $request)
{
return ApiResponse::handle(fn () => $this->service->update($id, $request->all()), '카테고리 수정');
}
public function destroy(int $id)
{
return ApiResponse::handle(fn () => $this->service->destroy($id), '카테고리 삭제');
}
public function toggle(int $id)
{
return ApiResponse::handle(fn () => $this->service->toggle($id), '카테고리 활성/비활성 토글');
}
public function move(int $id, Request $request)
{
return ApiResponse::handle(fn () => $this->service->move($id, $request->all()), '카테고리 이동');
}
public function reorder(Request $request)
{
return ApiResponse::handle(fn () => $this->service->reorder($request->all()), '카테고리 정렬순서 일괄 변경');
}
public function tree(Request $request)
{
return ApiResponse::handle(fn () => $this->service->tree($request->all()), '카테고리 트리 조회');
}
}