Files
omg-wtf-ai/app/Http/Controllers/Api/CategoryController.php
T
2026-08-08 18:03:29 +03:00

48 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\StoreCategoryRequest;
use App\Http\Requests\UpdateCategoryRequest;
use App\Http\Resources\CategoryResource;
use App\Models\Category;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Http\Response;
class CategoryController extends Controller
{
public function index(): AnonymousResourceCollection
{
return CategoryResource::collection(
Category::query()->orderBy('name')->paginate(20)
);
}
public function store(StoreCategoryRequest $request): CategoryResource
{
$category = Category::query()->create($request->validated());
return new CategoryResource($category);
}
public function show(Category $category): CategoryResource
{
return new CategoryResource($category);
}
public function update(UpdateCategoryRequest $request, Category $category): CategoryResource
{
$category->update($request->validated());
return new CategoryResource($category);
}
public function destroy(Category $category): Response
{
$category->delete();
return response()->noContent();
}
}