1
0
Files
services_core/app/Http/Middleware/EnsureMenuResourcePermission.php
T
2026-07-27 16:24:09 +07:00

29 lines
678 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureMenuResourcePermission
{
public function handle(Request $request, Closure $next, string $menuSlug): Response
{
$permission = match ($request->method()) {
'GET', 'HEAD' => 'view',
'POST' => 'create',
'PUT', 'PATCH' => 'update',
'DELETE' => 'delete',
default => null,
};
if (! $permission) {
abort(405);
}
return app(EnsureMenuPermission::class)
->handle($request, $next, $menuSlug, $permission);
}
}