<?php

namespace App\Http\Controllers\buildable;

use Fivable\Buildable\Controllers\BuildableCategoryController as BaseBuildableCategoryController;

class BuildableCategoryController extends BaseBuildableCategoryController
{

//    /**
//     * Get all BuildableCategories
//     * @return JsonResponse
//     */
//    public function index() : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'viewIndex', BuildableCategory::class);
//
//        $categories = BuildableCategory::all();
//
//        return response()->json([
//            'categories' => $categories,
//        ]);
//    }

//    /**
//     * Create a new BuildableCategory
//     * @param Request $request
//     * @return JsonResponse
//     */
//    public function store(Request $request) : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'create', BuildableCategory::class);
//
//        $newCategory = BuildableCategory::create($request->all());
//        return response()->json([
//            'new_category' => $newCategory,
//        ]);
//    }

//    /**
//     * Retrieve a specific BuildableCategory
//     * @param  BuildableCategory  $buildableCategory
//     * @return JsonResponse
//     */
//    public function show(BuildableCategory $buildableCategory) : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'view', $buildableCategory);
//
//        return response()->json([
//            'category' => $buildableCategory,
//        ]);
//    }

//    /**
//     * Update a specific BuildableCategory
//     * @param  Request  $request
//     * @param  BuildableCategory  $buildableCategory
//     * @return JsonResponse
//     */
//    public function update(Request $request, BuildableCategory $buildableCategory) : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'update', $buildableCategory);
//
//        $buildableCategory->update($request->all());
//
//        return response()->json([
//            'updated_category' => $buildableCategory->fresh(),
//        ]);
//    }

//    /**
//     * Delete a specific BuildableCategory
//     * @param  BuildableCategory  $buildableCategory
//     * @return JsonResponse
//     * @throws \Exception
//     */
//    public function destroy(BuildableCategory $buildableCategory) : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'delete', $buildableCategory);
//
//        $buildableCategory->delete();
//
//        return response()->json([
//            'deleted_category' => $buildableCategory,
//        ]);
//    }
}
