3 namespace BookStack\Http\Middleware;
5 use BookStack\Permissions\Permission;
7 use Illuminate\Http\Request;
9 class CheckUserHasPermission
12 * Handle an incoming request.
16 public function handle(Request $request, Closure $next, string|Permission $permission)
18 if (!user()->can($permission)) {
19 return $this->errorResponse($request);
22 return $next($request);
25 protected function errorResponse(Request $request)
27 if ($request->wantsJson()) {
28 return response()->json(['error' => trans('errors.permissionJson')], 403);
31 session()->flash('error', trans('errors.permission'));