authorize('server.terminal'); if (! RestrictConsoleNetwork::allows((string) request()->ip())) { $this->problem = 'off_network'; return; } /** @var Operator $operator */ $operator = auth('operator')->user(); // Der Fangzaun liegt um BEIDE Schritte, nicht nur um das Ausstellen. // `blocker()` liest den Tresor und eine Datei — beides kann auf eine // Weise scheitern, mit der niemand gerechnet hat, und ein Wurf dort // wäre genau die Laravel-Fehlerseite, die dieses Fenster nie zeigen // soll. Die Antwort ist dieselbe wie beim Ausstellen: eine gestaltete // Seite, ohne Versprechen, woran es lag. try { $this->problem = ServerTicket::blocker() ?? ''; if ($this->problem === '') { $this->ticket = ServerTicket::issue($operator); } } catch (Throwable $e) { report($e); $this->problem = 'unknown'; } } public function render() { return view('livewire.admin.server-terminal') ->title(__('server.terminal.window_title')); } }