getAttribute('user'); if (!is_array($user) || !isset($user['id'])) { return JsonResponder::withJson(new Response(), [ 'error' => 'auth_required', 'message' => 'Authentifizierung erforderlich.' ], 401); } if (!$this->permissions->can((int)$user['id'], $this->permissionKey)) { return JsonResponder::withJson(new Response(), [ 'error' => 'forbidden', 'message' => 'Keine Berechtigung für diese Aktion.', 'permission' => $this->permissionKey, ], 403); } return $handler->handle($request); } public static function for(PermissionService $permissions, string $permissionKey): self { return new self($permissions, $permissionKey); } }