59 lines
1.8 KiB
PHP
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()), '카테고리 트리 조회');
|
|
}
|
|
}
|