%PDF- %PDF-
Direktori : /var/www/html/shaban/duassis/api/app/Http/Controllers/Api/v1/ |
Current File : //var/www/html/shaban/duassis/api/app/Http/Controllers/Api/v1/CategoriesController.php |
<?php namespace App\Http\Controllers\Api\v1; use App\Http\Controllers\Api\ApiController; use App\Http\Requests\Api\v1\Categories\CreateCategoryRequest; use App\Http\Requests\Api\v1\Categories\UpdateCategoryRequest; use App\Models\Category; use App\Transformers\CategoryTransformer; use Illuminate\Http\Request; class CategoriesController extends ApiController { /** * @var CategoryTransformer */ private $transformer; /** * CategoriesController constructor. * @param CategoryTransformer $transformer */ public function __construct(CategoryTransformer $transformer) { $this->transformer = $transformer; } public function index(Request $request) { $categories = Category::query() ->paginate($request->get('perPage')); return $this->withPaginated($categories, $this->transformer); } public function show(Category $category) { return $this->item($category, $this->transformer); } public function store(CreateCategoryRequest $request) { $data = $request->only([ 'slug', 'name', 'color', ]); $category = Category::createItem($data); return $this->item($category, $this->transformer); } public function update(UpdateCategoryRequest $request, Category $category) { $data = $request->only([ 'slug', 'name', 'color', ]); $category->updateItem($data); return $this->item($category, $this->transformer); } public function destroy(Category $category) { try { $category->delete(); return response()->json([], 204); } catch (\Exception $exception) { return $this->wrongArguments([ 'message' => $exception->getMessage(), ]); } } }