<?php

namespace App\Http\Controllers\buildable;

use Fivable\Buildable\Controllers\BuildableMenuController as BaseBuildableMenuController;

class BuildableMenuController extends BaseBuildableMenuController
{

//    /**
//     * Display a listing of the resource.
//     *
//     * @return JsonResponse
//     */
//    public function index() : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'viewIndex', BuildableMenu::class);
//        // TODO: Ask Urban if we need BuildableMenu indexing
//
//        $menus = BuildableMenu::all();
//
//        return response()->json([
//            'menus' => $menus,
//        ]);
//    }

//    /**
//     * Get a specific BuildableMenu
//     * @param  BuildableMenu  $buildableMenu
//     * @return JsonResponse
//     */
//    public function show(BuildableMenu $buildableMenu) : JsonResponse
//    {
//        $this->authorizeForUser($this->user(), 'view', $buildableMenu);
//
//        return response()->json([
//            'menu' => $buildableMenu,
//        ]);
//    }

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

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

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