ldc-legaulois/app/Http/Controllers/Bo/MenuNodeDataController.php
2024-04-26 10:20:13 +02:00

53 lines
1.5 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Http\Requests\Bo\MenuNodeData\UpdateMenuNodeDataRequest;
use App\Models\MenuNodeData;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class MenuNodeDataController extends Controller
{
/**
* Create the controller instance.
*/
public function __construct()
{
$this->authorizeResource(MenuNodeData::class);
$this->middleware(fn (Request $request, \Closure $next) => $request->ajax() ?
$next($request) : abort(400, trans('Only ajax calls are allowed')));
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\JsonResponse
*/
public function index(): \Illuminate\Http\JsonResponse
{
return response()->json(MenuNodeData::all());
}
/**
* Update the specified resource in storage.
*
* @param \App\Http\Requests\Bo\MenuNodeData\UpdateMenuNodeDataRequest $request
* @param \App\Models\MenuNodeData $menuNodeData
* @return \Illuminate\Http\JsonResponse
*/
public function update(
UpdateMenuNodeDataRequest $request,
MenuNodeData $menuNodeData
): \Illuminate\Http\JsonResponse {
return DB::transaction(function () use ($request, $menuNodeData) {
$menuNodeData->fill($request->validated());
if ($menuNodeData->saveOrFail()) {
return response()->json();
}
return response()->json([], 500);
});
}
}